我希望人们能够取消禁止使用一个ID / member.mention (discord.Member对象自动做它),但也为用户名和鉴别器的选项,如果他们输入它代替。我到处都找过了,就是找不到该怎么做。
发布于 2021-03-29 22:05:14
async def _unban(self, ctx, *, member):
if "#" in ctx.message.content:
banned_users = await ctx.guild.bans()
for ban_entry in banned_users:
member_name, member_discriminator = member.split('#')
user = ban_entry.user
if (user.name, user.discriminator) == (member_name, member_discriminator):
await ctx.guild.unban(user)
return
else:
member = await self.client.fetch_user(int(member))
await ctx.guild.unban(member)这对我很有效,你的arg中有一个"#“,它将使用member.split('#')将它分割成名称和鉴别器,然后对照你的行会禁令进行检查。如果您的参数不包含"#“,那么它将假定这是一个user.id,并尝试以这种方式取消对它们的禁止。
https://stackoverflow.com/questions/66855539
复制相似问题