如何使用用户 ID 踢、禁止和取消禁止用户

Posted

技术标签:

【中文标题】如何使用用户 ID 踢、禁止和取消禁止用户【英文标题】:How to use the User ID to kick,ban and unban a user 【发布时间】:2020-07-01 20:26:11 【问题描述】:

我刚刚学会了如何用 python 编写一个不和谐的机器人。

禁止命令

@bot.command()
async def ban(ctx, member: Member = None, *, reason):
    await member.ban(reason=reason)

踢命令

@bot.command()
async def kick(ctx, member: Member = None, *, reason):
    await member.kick(reason=reason)

解禁命令

@bot.command()
async def unban(ctx, *, member):
    banned_users = await ctx.guild.bans()
    member_name, member_discriminator = member.split('#')
    for ban_entry in banned_users:
        user = ban_entry.user

        if (user.name, user.discriminator) == (member_name, member_discriminator):
            await ctx.guild.unban(user)

但是我如何使用用户 ID 来踢、禁止和取消禁止某人?

【问题讨论】:

您是否尝试过使用您拥有的代码?成员转换器应该能够使用 id 来解析 Member 对象 【参考方案1】:

如果会员在服务器上,你可以通过ID正常ban/kick 如果成员不在服务器上,您必须使用await client.fetch_user(ID).ban

【讨论】:

以上是关于如何使用用户 ID 踢、禁止和取消禁止用户的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 禁止/踢命令可供所有用户使用。我怎样才能解决这个问题?

discord.py - 如何添加踢/禁止原因?

网页取消禁止选择复制功能

如何添加“原因”来禁止命令

SQL

如何检查成员是不是可以在 discord.js v12 中被踢/禁止?