python - 音乐机器人不排队歌曲
问题描述
我正在使用 discord.py rewrite,并且正在使用 cogs 制作一个 do it all bot。我正在使用的其中一个齿轮中包含了一个音乐机器人。我正在播放音乐,但我正在尝试添加一个队列,并且任何时候它试图添加到它说它的队列,但是在当前歌曲结束后它不会播放任何东西。没有错误,什么都没有。它只是不玩。有任何想法吗
代码:
@commands.command()
async def play(self, ctx, url):
async with ctx.typing():
player = await YTDLSource.from_url(url, loop=self.bot.loop, stream=True)
if len(self.queue) == 0:
self.queue[len(self.queue)] = player
self.start_playing(ctx.voice_client, player)
await ctx.send(f':mag_right: **Searching for** ``' + url + '``\n<:youtube:763374159567781890> **Now Playing:** ``{}'.format(player.title) + "``")
else:
self.queue[len(self.queue)] = player
await ctx.send(f':mag_right: **Searching for** ``' + url + '``\n<:youtube:763374159567781890> **Added to queue:** ``{}'.format(player.title) + "``")
def start_playing(self, voice_client, player):
self.queue[0] = player
i = 0
while i < len(self.queue):
try:
voice_client.play(self.queue[i], after=lambda e: print(f' has finished playing.'))
except:
pass
i += 1
解决方案
推荐阅读
- azure-databricks - 在具有多行数据的 csv 上创建表时出现问题
- perl - Perl 查找另一个数组中存在的一个数组中的缺失元素
- mqtt - Mosquitto 配置日志问题
- java - 如何解析 Thymeleaf 模板以通过电子邮件发送?
- solr - 将所有 Solr 核心数据备份到 SQL 数据库
- sql - SQL 先使用 SUM 然后使用 MAX 函数查找结果集
- r - 查找变量“back”大于 100 的行
- amazon-cloudwatch - 当 GroupDesiredCapacity 接近 GroupMaxSize 时,如何设置可扩展的 ASG CloudWatch 警报,涵盖低/高值的范围?
- c++ - 计数排序算法 - 以负整数和正整数作为输入(不允许使用 Map)
- sql - Oracle中如何用JOIN子句替换IN子句