Задать вопрос
@ratatyu335

Хочу сделать музыкального бота для дискорд на пайтон чтобы он воспроизводил видео из ютуба в войс чате и выдаёт ошибку что делать??

но выдаёт ошибку:
Traceback (most recent call last):
File "C:\Users\Влад\Desktop\ботик\music.py", line 6, in
client = commands.Bot(command_prefix='!')
TypeError: __init__() missing 1 required keyword-only argument: 'intents'

вот сам код:

import discord
import youtube_dl
from discord.ext import commands

# Создаем экземпляр клиента Discord
client = commands.Bot(command_prefix='!')

# Функция для загрузки и проигрывания аудио из YouTube
async def play_song(ctx, url):
    # Создаем экземпляр загрузчика YouTube
    ydl_opts = {'format': 'bestaudio', 'noplaylist':'True'}
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        info = ydl.extract_info(url, download=False)
        url2 = info['formats'][0]['url']
    # Подключаемся к голосовому каналу
    voice_channel = ctx.author.voice.channel
    voice_client = await voice_channel.connect()
    # Проигрываем аудио в голосовом канале
    source = await discord.FFmpegOpusAudio.from_probe(url2, method='fallback')
    player = voice_client.play(source)
    # Ожидаем окончания проигрывания
    await ctx.send(f'Сейчас играет: {info["title"]}')
    while not player.is_done():
        await asyncio.sleep(1)
    # Отключаемся от голосового канала
    await voice_client.disconnect()

# Команда для проигрывания музыки
@client.command()
async def play(ctx, url):
    await play_song(ctx, url)

# Запуск бота

client.run('Токен бота') # Укажите токен вашего бота Discord
  • Вопрос задан
  • 662 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
NolikUss
@NolikUss
Ты должен передавать интенты, которые ты включил в боте, если у тебя нет таковых, то передавай default

client = commands.Bot(command_prefix='!',intents=discord.Intents.default())
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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