【问题标题】:How do I move a user to a specific channel on discord using the discord.py API如何使用 discord.py API 将用户移动到 discord 上的特定频道
【发布时间】:2018-07-30 03:06:02
【问题描述】:

好的,所以我知道执行此操作的命令,但我的问题是我不知道要传递给参数的参数。我希望我的代码获取用户的消息内容,然后将用户移动到名为“afk”的语音频道。这是我的代码的 sn-p:

我要做的就是将输入单词 !move 的用户移动到另一个语音频道。 如果我的代码不好,我很抱歉,但我只是需要这个。

我知道您可能需要查看我的定义,但仅此而已:

def on_message(message):
    if '!MOVE' in message.content.upper():
        author = message.author
        voice_channel = id('afk')
        await client.move_member(author, voice_channel)

【问题讨论】:

  • 什么是id('afk')?
  • 只是一个占位符,用于显示我想要包含的频道 ID。我想将成员移至名为 afk 的频道。这是我的一个频道的名称。
  • 其实没什么意思。

标签: python discord discord.py


【解决方案1】:

client.move_member 接受两个参数:Member 和 Channel。我们可以使用discord.utils.find从服务器频道列表中获取频道。

channel = discord.utils.find(lambda x: x.name == 'afk', message.server.channels)
await client.move_member(message.author, channel)

一些进一步的说明:

  • 以上对于 afk 通道实际上是不必要的,因为服务器有一个Server.afk_channel 属性。
  • 您还应该使用discord.ext.commands 扩展来实现您的命令,以防止您的on_message 变得混乱。

【讨论】:

  • 删除了语法错误,但并没有将消息的作者移动到频道。
  • 您是否在运行机器人的终端中获得任何输出?
  • nvm nvm 我想通了谢谢。当您调用 discord 实用程序时,您忘记将 s 添加到 utils 中。谢谢你。
猜你喜欢
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 1970-01-01
  • 2021-11-19
相关资源
最近更新 更多