需要帮助 Discord 机器人队列

2024-04-04

我一直在尝试为不和谐机器人和我的>q命令基本上工作为join play queue同时。问题是它只能同时对 2 首歌曲进行排队,所以我需要帮助使其对多首歌曲进行排队

queues = {}
#check queue
def check_queue(ctx, id):
  if queues[id] !=[]:
    voice = ctx.guild.voice_client
    voice.play(queues[id].pop(0))
#command
@client.command(pass_context = True)
async def q(ctx, url):
  if (ctx.author.voice):
    channel = ctx.message.author.voice.channel
    voice = get(client.voice_clients, guild=ctx.guild)
    if voice and voice.is_connected():
      await voice.move_to(channel)
    else:
      voice = await channel.connect()
  else:
    await ctx.send('You are not in a voice channel')      
  YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'True'}
  FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5', 'options': '-vn'}
  voice = get(client.voice_clients, guild=ctx.guild)
  with YoutubeDL(YDL_OPTIONS) as ydl:
      info = ydl.extract_info(url, download=False)
  URL = info['url']
  source = (FFmpegPCMAudio(URL, **FFMPEG_OPTIONS))
  if voice.is_playing():
    guild_id = ctx.message.guild.id
    if guild_id in queues:
      queues[guild_id].append(source)
    else:
      queues[guild_id]=[source]
    await ctx.send('Deemo: Song added to queue')
  else:
      ctx.voice_client.stop()
      voice.play(FFmpegPCMAudio(URL, **FFMPEG_OPTIONS), after=lambda x=0: check_queue(ctx, ctx.message.guild.id))
      voice.is_playing()
      await ctx.send('Playing: '+ info.get('title'))

在我做了一些研究和搜索之后,我找到了一种简单的方法来使队列循环 2+ 首歌曲,添加after=lambda x=0: check_queue(ctx, ctx.message.guild.id) inside check_queue稍微改变一下,它会看起来像这样

def check_queue(ctx, id):
  if queues[id] !=[]:
    voice = ctx.guild.voice_client
    source = queues[id].pop(0)
    voice.play(source, after=lambda x=0: check_queue(ctx, ctx.message.guild.id))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要帮助 Discord 机器人队列 的相关文章

  • 用于将 cython 中的许多 C++ 类包装到单个共享对象的项目结构

    我在文档 邮件列表和这个问题在这里 https stackoverflow com questions 10300660 cython and distutils 但我想得到一个更直接的答案来解决我的具体情况 我正在通过尝试一点一点地包装我
  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate

随机推荐

  • Maven Wagon 插件:wagon:upload 可以上传到多个位置吗?

    我正在调查Maven 旅行车插件 http mojo codehaus org wagon maven plugin 尝试将一些工件上传到远程 UNC Server 共享 servername share directory to put
  • 获取异步函数的 NULL 值(使用等待之后),然后更新为新值

    当我运行我的应用程序时 它会抛出很多错误 并且我的设备上会出现红色 黄色错误屏幕 它会自动刷新并向我显示预期的输出 从日志中我可以看到 首先我的对象返回为 null 随后以某种方式更新并获得输出 我最近开始了 Android 开发 Flut
  • 如何在android中处理搜索视图的后退按钮

    我开发了一个在操作栏中具有搜索视图的应用程序 当我完美搜索其过滤器时 我遇到了问题 但是当我按下后退按钮时 它仍然显示过滤器数据 所以我的问题是操作栏搜索的后退按钮的事件是什么看法 我的搜索视图代码是 SearchView searchVi
  • 具有架构组件的多模块导航

    所以我当前的应用程序中的模块有这样的结构 我还没有找到任何关于多模块导航的官方文档 但我发现了这个article https medium com hartwich daniel multi module navigation with t
  • 如何将列标题转换为贷款号码的行[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我陷入了无法旋转的境地 我有一个类似下面 temp 的表 使用sql server 2008 r2 Select LoanNumber 2
  • 维护和重用现有的 webdriver 浏览器实例 - java

    基本上每次我从 eclipse 运行 java 代码时 webdriver 都会启动一个新的 ie 浏览器并在大部分情况下成功执行我的测试 然而 我有很多测试要运行 而且 webdriver 每次都会启动一个新的浏览器会话 这很痛苦 我需要
  • Raspberry Pi 上的 Sqlite4java

    我想在 Raspberry Pi 上使用我的 java 项目 此代码依赖于 sqlite4java 它使用许多平台 包括 Arm 处理器 的本机实现link http code google com p sqlite4java downlo
  • 如何让 vscode 知道 SCM 何时可见?

    我想用 VScode 的键绑定制作切换键 使用 alt 1 到 5 切换资源管理器和搜索 scm 调试扩展 我可以找到 explorerViewletVisible 或 searchViewletVisible 但我找不到 scm 源代码控
  • 如何从 Angular 范围中排除元素?

    我的前提是错误的 虽然 AngularJS 确实减慢了速度 但这并不是因为我下面描述的问题 然而 正是 flim 对我的问题 如何从 Angular 范围中排除元素 的回答才证明了这一点 我正在构建一个网站 该网站使用 d3 Raphael
  • PhoneGap iOS 7 和 localStorage

    我目前正在构建一个 PhoneGap 3 3 0 iOS 应用程序 该应用程序使用 Ember js EmberData 和 LocalStorage 适配器来保存数据 读了一些文章后就像这个 StackOverflow 问题 https
  • 集合接口和WCF

    我正在使用 C 和 WCF 来做 Web 服务 我有一个实现 IEnumerable 的类的成员变量 我尝试通过执行以下操作将其序列化为我的数据合同的一部分 DataContract class Item DataMember privat
  • 约束消失的情况:更高等级类型的怪异

    下面描述的所有实验都是使用 GHC 8 0 1 完成的 这个问题是后续问题具有类型别名混淆的 RankNTypes https stackoverflow com q 40252867 2751851 那里的问题归结为像这样的函数类型 LA
  • 获取 i18next 翻译器 缺少密钥

    这是我第一次使用 i18next 我不知道如何让它发挥作用 这似乎是文档 http i18next com docs 对我来说是不完整的 这是我使用 i18next 的 HTML 代码
  • JDBC无法在openshift上连接mysql数据库

    我设法使用 phpMyAdmin 等在 OpenShift 上设置 MySQL 数据库 我被告知我的数据库的主机名和端口分别是 OPENSHIFT MYSQL DB HOST 和 OPENSHIFT MYSQL DB PORT 我将其放入
  • 多次借用的借用错误

    我正在 Rust 中实现一个就地递归解析器 但遇到了一些借用错误 代码片段重现了问题 尽管它不是很有用 use std vec Vec struct MyBorrows lt a gt val a mut i32 impl lt a gt
  • com.fasterxml.jackson.databind.exc.InvalidTypeIdException:无法将类型 id '[' 解析为子类型

    我有一个名为 Fruit 的抽象类 我把 JsonTypeInfo and JsonSubTypes其如下 JsonTypeInfo use JsonTypeInfo Id NAME include JsonTypeInfo As PROP
  • 如何让ListView在转换到另一个路线时保留其滚动?

    我想在我的颤动应用程序中完成滑动到右侧的转换 问题是路线转换有点创建我想要从中转换的页面的新实例 所以ListView滚动重置 看视频 https youtu be PdLhyvNoU8 这就是我创建新路线的方式 oldRoute need
  • dompdf 图像不是真实图像,无法读取或为空

    我在使用 dompdf 时遇到问题 我插入的图像在转换为 pdf 文件时无法读取 当我使用将其加载到 dompdf 时 php方法 img src gt 我得到一个带有 X 的方框缩略图 它说 图像不是真实图像 不可读或为空 用文本打印我的
  • Nodejs JOIN 查询:格式化 JSON 输出

    我正在制作一个非常简单的 RIGHT JOIN 查询 但我无法正确格式化输出 这是查询 connection query sql SELECT users rides FROM users RIGHT JOIN rides ON users
  • 需要帮助 Discord 机器人队列

    我一直在尝试为不和谐机器人和我的 gt q命令基本上工作为join play queue同时 问题是它只能同时对 2 首歌曲进行排队 所以我需要帮助使其对多首歌曲进行排队 queues check queue def check queue