【问题标题】:Move member into voice channel discord.py将成员移动到语音频道 discord.py
【发布时间】:2020-12-21 20:32:51
【问题描述】:

我在 Stack Overflow 上进行了全面搜索,发现了很多关于如何将一个成员或所有成员移动到语音频道的问题,但答案不符合我的需求,我只是尝试他们看看是否可以我可以更改它们以适应我的需求,但它们不起作用。

在我的不和谐服务器上,如果您加入一个名为 Join to create channel 的语音频道,我希望我的机器人创建一个名为 f'{member}s channel' 的语音频道,然后自动将该人移入该频道。我可以使用 await clone(name, reason) 让机器人创建频道,但由于某种原因,我无法让机器人将成员移动到语音频道。

这是我目前拥有的:

import discord
import datetime


client = discord.Client()


@client.event
async def on_voice_state_update(member, before, after):
    if str(after.channel) == 'Join to create channel':
        if str(after) != str(before):
            await after.channel.clone(name=f'{member}s channel')
            person_to_move = member
            channel_to_move_person_to_move_to = client.get_channel(f'{member}s channel')
            await client.move_member(person_to_move, channel_to_move_person_to_move_to)

每当我运行此代码时,我都会收到一个 AttributeError,说“客户端”没有属性“move_member”move_member 是我每次搜索答案时在 Stack Overflow 上看到的。最初我有:

await move_to(person_to_move, channel_to_move_person_to_move_to)

这是我在 discord py API 文档中找到的。然而,那里的错误是它给了我一个 NameError 说“move_to”没有定义。

任何信息都会有所帮助。我错过了一件小事还是我做错了?谢谢。

【问题讨论】:

  • 如果有什么不明白或需要澄清的,请告诉我

标签: python python-3.x discord discord.py


【解决方案1】:

您可以使用成员对象移动人员。

channel = discord.utils.get(guild.text_channels, name = f"{member}'s channel")
await member.move_to(channel)

【讨论】:

  • 只是一个简单的问题,我如何在 guild.text_channels 中创建公会变量,因为它给了我一个错误,说公会没有定义
  • 你可以只做guild = client.get_guild(GUILD_ID)或会员guild = member.guild
  • 没问题,很高兴你明白了!
猜你喜欢
  • 2018-10-07
  • 2021-06-06
  • 2021-04-18
  • 1970-01-01
  • 2021-01-30
  • 2018-04-04
  • 2021-07-21
  • 2020-01-11
  • 2018-10-09
相关资源
最近更新 更多