如何让我的不和谐机器人播放来自YouTube的音频
所以,我的问题是如何将变量url设置为某人在yt后键入的内容?例如,!YT [youtbube链接]使URL = [Youtube链接]如何让我的不和谐机器人播放来自YouTube的音频
这是我此刻的代码和任何帮助表示赞赏,感谢:)
@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()
我假设你已经知道这一点,但有些机器人可以为你做到这一点。如果你不知道,你可以给它一个来自YouTube的链接,并确保bot与你在语音频道中。我不确定你是否试图让它在多个语音频道中播放不同的链接。我非常怀疑机器人可以通过多个语音通道播放不同的歌曲,因为它必须与您在语音通道中播放。
是啊,我知道有些机器人可以做到这一点,但我想让我的机器人做到这一点:P – OhFlummery
这很有道理。我想过试图制作我自己的机器人。我只在周末打球,所以这对我没有好处。 – Daniel
@client.command(pass_context=True)
async def yt(ctx):
url = ctx.message.content
url = url.strip('!yt ')
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()
其实很简单。只需将其添加为该函数的参数即可。
@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):
)的参数的类型,但由于默认的是将它们传递作为字符串反正它不会是非常有用的。
或者,您可以使用'yt(ctx,*,url)'而不是'yt(ctx,url)',这样它就会将其余的消息接收到url中。 – squaswin
格式良好的Youtube网址从来没有空格,然而,这个程序不能播放多个由空格隔开的网址,所以我看不到需要这样做。 – randomdude999
什么是不工作在此代码(固定缩进后)? –
代码没有任何问题,我只是不知道如何让它播放某人放置的链接!yt,我只是把我的代码放在这样人们可以看到我的东西。 – OhFlummery