如何让我的 discord 机器人播放来自 YouTube 的音频

新手上路,请多包涵

所以,我的问题是如何将变量 url 设置为某人在 yt 之后键入的内容?例如, !yt [youtbube link] makes url = [youtube link]

这是我目前的代码,感谢您的帮助

@client.command(pass_context=True)
async def yt(ctx):
    url = 'https://www.youtube.com/watch?v=rPOUewuNKFE'

    author = ctx.message.author
    voice_channel = author.voice_channel
    vc = await client.join_voice_channel(voice_channel)

    player = await vc.create_ytdl_player(url)
    player.start()

原文由 OhFlummery 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 802
1 个回答

其实很简单。只需将它作为参数添加到函数中即可。

 @client.command(pass_context=True)
async def yt(ctx, url):

    author = ctx.message.author
    voice_channel = author.voice_channel
    vc = await client.join_voice_channel(voice_channel)

    player = await vc.create_ytdl_player(url)
    player.start()

如果需要,您还可以使用标准函数注释 ( async def yt(ctx, url: str): ) 指定参数的类型,但这不是很有用,因为默认情况下无论如何都是将它们作为字符串传递。

原文由 randomdude999 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题