Я даже не стал вникать в суть, просто посмотрел на код 30 секунд. Рекомендую почитать комментарии и последовать советам. И пожелаю удачи.
import discord
from discord.ext import commands
# У меня зрение -3,5, но использования этого я не увидел.
from pytube import YouTube
bot = commands.Bot(command_prefix="!")
# Все что, не закрыто иксами - можно узнать. А, что закрыто - секретно и ДОЛЖНО быть скрыто. А лучше вообще токен не показывать)
TOKEN = "Njc1MzUwNTkzOTIwODI3Mzk0.xxxxx.xxxxx-xxxxx"
yt_url = 'https://www.youtube.com/results?'
game = discord.Game("Krunker.io")
@bot.event # загрузка
async def on_ready():
print("Bot was launched!")
await bot.change_presence(activity=game)
@bot.command(pass_context=True)
async def music(ctx, channel):
url = ctx.message.content # вернет что-то вроде "!music youtube.com/watch"
url = url.strip('https://www.youtube.com/watch?v=naIKplXzxTY') # почитайте что делает strip()
vc = await bot.connect() # "бот, подключись!", а куда не сказано.
vc.play(discord.FFmpegPCMAudio(url)) # ссылка на HTML страницу... а нужно АУДИО поток, а не станица. библиотека не может догадаться, что от нее хотят.
vc.is_playing() # почитайте про "if"
vc.pause() # зачем останавливать поток
vc.resume() # и включать ._.
vc.stop() # а после останавливать
bot.run(TOKEN)