Discord.py Discord python如何获得所有被禁止的用户?
我正在查看API参考,发现了fetch_ban(用户)。如何检查用户是否被禁止进入服务器,我读到它返回了BanEntry,并得到一个布尔值?我可以使用会员还是我需要获得用户?Discord.py Discord python如何获得所有被禁止的用户?,discord.py,discord.py-rewrite,Discord.py,Discord.py Rewrite,我正在查看API参考,发现了fetch_ban(用户)。如何检查用户是否被禁止进入服务器,我读到它返回了BanEntry,并得到一个布尔值?我可以使用会员还是我需要获得用户? 感谢您的回复。提示:始终链接您所谈论的内容 (discord.py源代码) 如果您仔细阅读源代码,您将很快在第一行中找到: BanEntry=namedtuple('BanEntry','reason user') 如果用户被禁止,则返回的是BanEntry对象,否则返回NotFound异常。 因此,要检查用户是否被禁止
感谢您的回复。提示:始终链接您所谈论的内容 (discord.py源代码) 如果您仔细阅读源代码,您将很快在第一行中找到:
BanEntry=namedtuple('BanEntry','reason user')
如果用户被禁止,则返回的是BanEntry对象,否则返回NotFound异常。
因此,要检查用户是否被禁止,只需执行以下操作:
async def被禁止(公会、用户):
尝试:
entry=wait guild.fetch\u ban(用户)
除discord.NotFound外:
返回错误
返回真值
这也适用于成员,因为它们基本上是用户对象,有一点额外的功能
BanEntry是一个命名的元组(如果您需要更新这些元组)。如果您想命令发送被禁止用户的列表
async def banlist(self, ctx):
bans = await ctx.guild.bans()
loop = [f"{u[1]} ({u[1].id})" for u in bans]
_list = "\r\n".join([f"[{str(num).zfill(2)}] {data}" for num, data in enumerate(loop, start=1)])
await ctx.send(f"```ini\n{_list}```")
它给出了这样的列表
[01] 尸仁长仈乃冂仨#0529 (269800030300033098)
[02] Yako#1001 (294113773333557952)
[03] Ping#9216 (46804048093530418)
[04] Vasky#6978 (494069478291921344)
但即使我在我的服务器上禁止了一个用户,它也不会显示在被禁止的用户上