@TwemJ

Дискорд бот, в чем ошибка?

Здравствуйте! Написал бота для дискорд, начал запускать. Запускается в консоли и дальше ничего не происходит, он просто в сети, но команды не воспринимает. Помогите, пожалуйста, не понимаю в чем проблема.

Вот код:

import discord
from discord.ext import commands
import youtube_dl

intents = discord.Intents.default()
intents.all()

bot = commands.Bot(command_prefix='/', intents=intents)

@bot.event
async def on_ready():
    print(f'Logged in as {bot.user.name}')

@bot.command()
async def play(ctx, url):
    # Проверка, нахождения пользователя в голосовом канале
    if not ctx.author.voice:
        await ctx.send("Вы не включили радио! Как я буду вам вещать?")
        return

    # Получение голосового канала пользователя
    channel = ctx.author.voice.channel

    # Подключаем бота к голосовому каналу
    voice_channel = await channel.connect()

    # Отправляем фразу в голосовой канал
    voice_channel.play(discord.FFmpegPCMAudio('C:\Users\TwemJ\Фраза1.mp3'), after=lambda e: print('done', e))

    # Инициализируем youtube_dl
    ydl_opts = {'format': 'bestaudio'}
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        info = ydl.extract_info(url, download=False)
        url2 = info['formats'][0]['url']

    # Проигрываем музыку
    voice_channel.play(discord.FFmpegPCMAudio(url2), after=lambda e: print('done', e))

@bot.command()
async def leave(ctx):
    # Покидаем голосовой канал
    await ctx.voice_client.disconnect()


@bot.command()
async def test(ctx):
    await ctx.send("Test command!")
# Запускаем бота
bot.run('token')
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
fenrir1121
@fenrir1121
Начни с документации
в чем ошибка?
Ошибка в том, что вы не знакомы с библиотекой, которую пытаетесь использовать и правилами ресурса на котором пишите.

Судя по несуществующим методам код вы взяли у chatgpt. Вам его с удовольствием помогут испрвить на фрилансе
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы