我正在查看API参考,发现fetch_ban(user)。我如何检查用户是否被禁止访问服务器,我正在阅读它返回了BanEntry并获取布尔值?我也可以使用会员还是需要获得用户? 谢谢您的答复。
答案 0 :(得分:2)
提示:始终链接您在说什么。
fetch_ban BanEntry(discord.py源代码)
如果您遍历了源代码,您将很快在第一行中找到它:
BanEntry = namedtuple('BanEntry', 'reason user')
如果用户被禁止,则返回
async def is_banned(guild, user):
try:
entry = await guild.fetch_ban(user)
except discord.NotFound:
return False
return True
这也将与成员一起使用,因为它们基本上是具有一些额外功能的用户对象。
BanEntry是一个命名的元组(如果您需要对这些here进行复习)。
答案 1 :(得分:0)
如果你想命令发送被禁止的用户列表
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)