discord.py-将字符串转换为成员,然后将成员移至特定通道

时间:2020-10-15 18:13:18

标签: python discord discord.py

对于我的机器人,我正在尝试执行一条命令,该命令将从字符串将播放器从服务器移到服务器上的某个语音通道。字符串的格式为“ ExampleUser#0000”,我正尝试将字符串转换为成员对象,然后将其移至语音通道。我已经导入了discord.py的命令扩展名,该命令(当前不起作用)可以在下面找到。

将来,该字符串将来自我拥有的JSON,并且只会移动某些成员,但是在担心之前,我想对它进行排序。为了透明起见,JSON以f'{ctx.author}'的形式在字符串中存储单独命令的作者以及其他一些信息。

任何帮助使该工作正常进行的方法。

name = 'ExampleUser#0000'
@client.command()
async def test(ctx):
    channel = discord.utils.get(ctx.guild.channels, name='Test')
    member = await MemberConverter().convert(ctx, name)
    await member.move_to(channel)

1 个答案:

答案 0 :(得分:0)

您正确地获得了频道,而问题出在会员身上。

如果您的ID使用guild.get_member(IDHERE),则应使用此功能按名称获取成员。另外,您还可以遍历它们,并在其他人未连接的情况下使用try / except。

name = 'AZ#0573'

@client.command()
async def test(ctx):
    channel = discord.utils.get(ctx.guild.channels, name='test')
    member = ctx.guild.get_member_named(name)
    await member.move_to(channel)