Почему я получаю сообщение об ошибке «команда не найдена»?Python

Программы на Python
Ответить
Anonymous
 Почему я получаю сообщение об ошибке «команда не найдена»?

Сообщение Anonymous »

Я следил за этим руководством о том, как создать музыкального бота Discord, такого как Rythm, с помощью discord.py. Я устранил неполадки в своем коде и исправил несколько ошибок, связанных с сопрограммой.
Я вызвал функцию r и теперь получаю эту ошибку при запуске кода:

main.py:15: RuntimeWarning: сопрограмма 'r' никогда не ожидалась
r()

Когда я запускаю код, все загружается успешно, пока я не попытаюсь используйте команду. Если бы я добавил «@join» в чат, он должен был присоединиться к голосовому чату или сказать: «Вы не в голосовом канале!». Вместо этого я получаю следующую ошибку:

2022-09-02 20:07:08 ОШИБКА discord.ext.commands.bot Игнорирование исключения в команде None
discord.ext.commands.errors.CommandNotFound: команда «join» не найдена

Я пробовал поменять местами out @commands.command для @client.command (при этом клиент также определяется в music.py), но в целом то же самое.
У меня есть два файла: main.py и music.py.
MAIN.PY
import discord
from discord.ext import commands
import music

cogs = [music]

client = commands.Bot(command_prefix='@', intents=discord.Intents.all())

async def r():
for i in range(len(cogs)):
await cogs.setup(client)

r()

client.run(
"my token")

MUSIC.PY
import discord
from discord.ext import commands
import youtube_dl

class music(commands.Cog):
def __init__(self, client):
self.client = client

@commands.command()
async def join(self, ctx):
if ctx.author.voice is None:
await ctx.send("You're not in a voice channel!")
voice_channel = ctx.author.voice.channel
if ctx.voice_client is None:
await voice_channel.connect()
else:
await ctx.voice_client.move_to(voice_channel)

@commands.command()
async def disconnect(self, ctx):
await ctx.voice_client.disconnect()

@commands.command()
async def play(self, ctx, url):
ctx.voice_client.stop()
FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -
reconnect_delay_max 5', 'options': '-vn'}
YDL_OPTIONS = {'format': "bestaudio"}
vc = ctx.voice_client

with youtube_dl.YoutubeDL(YDL_OPTIONS) as ydl:
info = ydl.extract_info(url, download=False)
url2 = info['formats'][0]['url']
source = await discord.FFmpegOpusAudio.from_probe(
url2, **FFMPEG_OPTIONS)
vc.play(source)

@commands.command()
async def pause(self, ctx):
await ctx.voice_client.pause()
await ctx.send("Paused")

@commands.command()
async def resume(self, ctx):
await ctx.voice_client.resume()
await ctx.send("Resumed")

async def setup(client):
await client.add_cog(music(client))


Подробнее здесь: https://stackoverflow.com/questions/735 ... -not-found
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»