如何让机器人加入语音频道discord.py

2024-07-04

我正在使用 Discord.py 创建音乐机器人,但我在将该机器人连接到语音通道时遇到问题。我使用 Cog 将音乐功能与其他功能分开。

@commands.command()
async def join_voice(self, ctx):
    channel = ctx.author.voice.channel
    print(channel.id)
    await self.client.VoiceChannel.connect()

但我收到错误:AttributeError: 'NoneType' object has no attribute 'channel'

我已经浏览了这里的所有文档和所有类似的问题,但仍然没有解决方案!

有人可以帮忙吗?


你真的很接近!你唯一需要改变的是:

@commands.command()
async def join_voice(self, ctx):
    connected = ctx.author.voice
    if connected:
        await connected.channel.connect() #  Use the channel instance you put into a variable

您所做的是获取 VoiceChannel 类对象,而不是用户连接到的实际 VoiceChannel 实例。这就是你的错误出现的地方,因为它试图找到一个不存在的语音通道。

很高兴看到进步,继续努力!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让机器人加入语音频道discord.py 的相关文章

随机推荐

  • 如何通过可变参数模板表达概念?

    我想定义一个概念 只有具有特定类型值的元组才能满足 假设为了简单起见 我只想接受仅包含数字类型元素的元组 我该怎么做 e g std tuple
  • 从 android 发送数组并使用 Volley 在 PhP 服务器接收

    你好我想发送一个字符串值数组到 PhP 服务器和 PhP 解码并将它们存储在 PhP 变量中 这是我在 android studio 的代码 private void getEventDetailRespond RequestQueue r
  • 如何在 Perl 中捕获鲤鱼的输出?

    我正在编写一个 Perl 模块 并使用 carp 向调用程序抛出一个非致命警告 carp 警告工作正常 我正在检查输入参数是否满足特定条件 如果不满足条件 则使用 carp 发送警告 并且模块继续使用参数的默认值而不是调用程序的参数通过了
  • 获取此 contenteditable 元素中的当前行和行索引?

    我有一个这样的元素 span line 1 line 2 line 3 line 4 line 5 span 假设用户正在编辑 第 4 行 如何获取该 contenteditable 元素中的当前行和行索引 在插入符号位置 这是使用选择属性
  • Python 解释器优化

    假设我有一个字符串x Python 解释器是否足够聪明 能够知道 string replace x x 应转换为NOP 我怎样才能找到这个 是否有任何参考资料显示解释器能够根据句法分析动态执行哪种类型的优化 不 Python 不能对 NOP
  • 无法验证 sol-wallet-adapter 签名的消息

    Having 创建了一条签名消息 https github com project serum sol wallet adapter sign a message我不确定如何使用生成的签名来使用公钥验证消息 我的用例是 我想使用 Solan
  • Moq 中 Verabilible() 的用途是什么?

    目的是什么Verifiable 如果我验证一个Mock并忽略这一点它仍然验证SetUp Edit 我正在使用VerifyAll 这就是一切都被验证的原因 更改为后Verify 只有我的 Verifiable SetUp正在接受检查 附录 正
  • XML 模式 - 子元素依赖于可选属性的存在

    是否可以在 XSD 中定义以下场景 父元素有一个属性 是可选的 如果该属性不是 present in XML at least one child element must exists If the attribute is presen
  • scrollIntoView 滚动得太远

    我有一个页面 其中包含从数据库动态生成的带有 div 的表行的滚动条 每个表格行的作用就像一个链接 有点像您在视频播放器旁边的 YouTube 播放列表中看到的那样 当用户访问该页面时 他们所在的选项应该位于滚动 div 的顶部 此功能正在
  • 组合或扩展接口?

    我有两个接口 type Request interface Version string Method string Params interface Id interface type Responder interface NewSuc
  • 为移动设备设计网页界面

    如何使您的网站在标准浏览器和各种可用的移动设备上看起来都很好 目前 我尚未决定是尝试调整布局大小以使其适用于小型设备 还是为移动设备提供单独的 CSS 我的用例是一个国际象棋游戏 我希望整个棋盘都可用而无需向下滚动 你会推荐什么 基本上没有
  • 在带有效果的 Android 按钮中使用图像

    现在我在 StackOverflow 上遇到了相关问题 但不幸的是没有一个解决方案对我有用 这就是为什么我不得不单独问这个问题 我是 Android 新手 问题 我需要一个充当按钮的图像 现在我明白 这可以通过在标准按钮上使用图像或使用称为
  • 如何从我的 kubernetes 集群中删除/删除 calico cni

    我已经在数字海洋中安装了我的 kubernetes 集群 1master 3worker 问题是我在这个集群中安装了 flannel 和 calico 我想从集群中完全删除 calico 还是可以拥有多个 CNI 使用以下两个命令从节点中删
  • 使用 RaphaelJS 确定图像何时加载到 svg 中

    我正在尝试弄清楚如何确定 svg 图像何时加载到浏览器中 我正在使用 Raphael JS 并且我已经尝试过 var image paper image path 0 0 10 10 image node addEventListener
  • 将 LIVE SPEECH 与 Tkinter GUI 连接

    我想将 pocketsphinx livespeech 与 Python tkinter GUI 连接起来 这样 GUI 在前端可见 而 Livespeech 在后端工作 但是当我将 tkinter 代码与 livespeech 代码合并时
  • 如何使用 xstream 将 Hashmap 映射到 XML 中的键值属性

    我有以下实体 XStreamAlias entity public class MapTestEntity XStreamAsAttribute public Map
  • Rails 5 编写类似查询的最佳控制器操作

    我想通过客户名称进行 ajax 搜索查询 因此我使用了 like 子句 看到这个问题 https stackoverflow com questions 26094430 safe activerecord like query 我正在考虑
  • Firefox 通知是如何实现的?

    我想在 Firefox 扩展中实现一个通知机制 相当于 Firefox 的 保存密码 选项或弹出阻止警告 并在主窗口上方滑动黄色条 现在有人知道如何在 XUL 中实现这一点吗 谢谢你的帮助 你会想要使用通知框元素 https develop
  • 如何将数组传递给 bash 函数

    如何将数组传递给函数 为什么这不起作用 其他问题的解决方案对我不起作用 根据记录 我不需要复制数组 所以我不介意传递引用 我想做的就是循环它 ar a b c function test echo 1 echo ar a b c test
  • 如何让机器人加入语音频道discord.py

    我正在使用 Discord py 创建音乐机器人 但我在将该机器人连接到语音通道时遇到问题 我使用 Cog 将音乐功能与其他功能分开 commands command async def join voice self ctx channe