Discord Bot Sprachkanal beitreten?


07.08.2023, 21:37

Es kommt keine Fehlermeldung aber der Bot joint dem Sprachkanal nicht (sendet aber auch nicht die Nachricht "Du bist in keinem Sprachkanal!"). Ich habe es mit replit programmiert und weiß die Version nicht, sollte aber denk ich die neueste sein.

Tessact  07.08.2023, 12:37

Was ist der Fehler? Welche Bibliothek nutzt du und welche Version der Bibliothek hast du?

alexx5678 
Fragesteller
 07.08.2023, 21:36

Es kommt keine Fehlermeldung aber der Bot joint dem Sprachkanal nicht (sendet aber auch nicht die Nachricht "Du bist in keinem Sprachkanal!"). (weiteres s. Ergänzung in der Frage)

Tessact  07.08.2023, 21:37

Wird der Command denn überhaupt getriggert? Du benutzt PyCord?

alexx5678 
Fragesteller
 07.08.2023, 22:21

discord.py, jetzt funktioniert der Nachricht wenn ich in keinem Kanal bin aber ich erhalte das wenn ich in einem bin: discord.ext.commands.bot Ignoring exception in command join

1 Antwort

ich hab jetzt etwas rumprobiert, wenn ich in einem Sprachkanal bin erscheint nur Test 1 und Test 2 und der Bot joint nicht. Außerdem erhalte ich folgende Fehlermeldung:

Traceback (most recent call last):
  File "/home/runner/test/venv/lib/python3.10/site-packages/discord/ext/commands/core.py", line 235, in wrapped
    ret = await coro(*args, **kwargs)
  File "main.py", line 24, in join
    await channel.connect()
  File "/home/runner/test/venv/lib/python3.10/site-packages/discord/abc.py", line 1899, in connect
    voice: T = cls(client, self)
  File "/home/runner/test/venv/lib/python3.10/site-packages/discord/voice_client.py", line 238, in __init__
    raise RuntimeError("PyNaCl library needed in order to use voice")
RuntimeError: PyNaCl library needed in order to use voice


The above exception was the direct cause of the following exception:


Traceback (most recent call last):
  File "/home/runner/test/venv/lib/python3.10/site-packages/discord/ext/commands/bot.py", line 1350, in invoke
    await ctx.command.invoke(ctx)
  File "/home/runner/test/venv/lib/python3.10/site-packages/discord/ext/commands/core.py", line 1029, in invoke
    await injected(*ctx.args, **ctx.kwargs)  # type: ignore
  File "/home/runner/test/venv/lib/python3.10/site-packages/discord/ext/commands/core.py", line 244, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: RuntimeError: PyNaCl library needed in order to use voice

bei diesem Code:

@bot.command()
async def join(ctx):
  if (ctx.author.voice):
    await ctx.send("Test 1")
    channel = ctx.author.voice.channel
    await ctx.send("Test 2")
    await channel.connect()
    await ctx.send("Test 3")
  else:
    await ctx.send("Du bist in keinem Sprachkanal!")

falls das Problem eine fehlende PyNaCl Bibliothek ist, wie die Fehlermeldung vermuten lässt, wie importiere ich die in replit?

Tessact  07.08.2023, 22:46

Ahh jetzt verstehe ich, vermutlich wurde die Bibliothek ohne Voice Support installiert, wenn du dort Zugriff auf ein Terminal hast dann https://github.com/Rapptz/discord.py, schau dort unter "Installing" nach, der zeigt wie du die Bibliothek mit Voice Support installieren kannst

2
alexx5678 
Fragesteller
 07.08.2023, 22:56
@Tessact

Vielen Dank, da wäre ich allein nie draufgekommen 👍

P.S.: ich geb dir auch gern hilfreichste Antwort aber das hier ist nur ein Kommentar

1
Tessact  07.08.2023, 23:07
@alexx5678

Ach alles gut das ist mir gar nicht wichtig, freut mich das ich helfen konnte

1