Leiten Sie jackd an discord.py weiter

Leiten Sie jackd an discord.py weiter

Derzeit versuche ich, die Audioausgabe von jackd zu übernehmen und in einen Discord-Voice-Chat zu leiten. Diese Lösung scheint nicht zu funktionieren, aberDasLösung soll funktionieren. Was ist passiert, dass meine Lösung nicht funktioniert, die andere aber schon? Kann ich eine ähnliche Lösung wie die Lösung im GitHub-Repository erstellen?

import discord  
from discord.ext import commands  
from discord.utils import get  
import os
#import jack
from discord.voice_client import VoiceClient


#start ffmpeg encoding magic.
os.system("ffmpeg -f jack -i stream_input -acodec libmp3lame -y stream.mp3 &> ffmpeg.log&")





# start jackd client stuff
#jack_client = jack.Client('Campfire')
#jack_client.inports.register('stream_input')



#Some variables. PLEASE ADJUST."
Client_Prefix= '>'
token= 'Nah'
client = commands.Bot(command_prefix = Client_Prefix)



#discord bot voice stuff 
@client.event
async def on_ready():
    print("Logged in as " + client.user.name + ".\n")
    print("Prefix is " + Client_Prefix + "\n")
    print('Status: armed')
    print('-------------------------------------------------------')

@client.command(pass_context=True)
async def join(ctx):
    await ctx.send('Joining the campfire.')
    global voice
    channel = ctx.message.author.voice.channel
    voice = get(client.voice_clients, guild=ctx.guild)

    if voice and voice.is_connected():
        await voice.move_to(channel)
    else:
        voice = await channel.connect()
        print("The bot has connected to a voice channel.")

@client.command(pass_context=True)
async def leave(ctx):
    channel = ctx.message.author.voice.channel
    voice = get(client.voice_clients, guild=ctx.guild)

    if voice and voice.is_connected():
        await voice.disconnect()
        print("The bot has disconnected from a voice channel")
        await ctx.send("Leaving the campfire")
    else:
        print("Error: I am not currently at a campfire")
        await ctx.send("I am not currently at a campfire.")

@client.command(pass_context=True)
async def stoke(ctx):
    song_there = os.path.isfile("stream.mp3")
    #try:
        #if song_there:
            #os.remove("stream.mp3")
            #print("Removed old campfire ashes.")
            #await ctx.send("Removed old campfire ashes.")
    #except PermissionError:
        #print("Unable to remove old ashes. Bulldozing required.")
        #await ctx.send("Unable to remove old ashes. Bulldozing required.")
        #return

    await ctx.send("Tuning the mystical instrument.")

    voice = get(client.voice_clients, guild=ctx.guild)

    voice.play(discord.FFmpegPCMAudio("stream.mp3"))
client.run(token)

verwandte Informationen