Discord python 我怎样才能得到所有被禁止的用户?
Discord python how can I get all the banned users?
我在查看 API 参考资料时发现了 fetch_ban(user)。我如何检查用户是否被服务器禁止,我读到它 returns BanEntry,并得到一个布尔值?我也可以使用会员还是我需要获得用户?
感谢您的任何回复。
提示:总是link你在说什么。
fetch_ban
BanEntry(discord.py源代码)
如果你浏览源代码,你会很快在第一行找到这个:
BanEntry = namedtuple('BanEntry', 'reason user')
如果用户被禁止,则返回一个 BanEntry 对象,否则returns一个 NotFound 异常。
因此,要检查用户是否被禁止,只需执行以下操作:
async def is_banned(guild, user):
try:
entry = await guild.fetch_ban(user)
except discord.NotFound:
return False
return True
这也适用于成员,因为它们基本上是具有一些额外功能的用户对象。
BanEntry 是一个命名元组(如果您需要复习那些 here)。
如果你想命令发送被禁用户列表
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)
我在查看 API 参考资料时发现了 fetch_ban(user)。我如何检查用户是否被服务器禁止,我读到它 returns BanEntry,并得到一个布尔值?我也可以使用会员还是我需要获得用户? 感谢您的任何回复。
提示:总是link你在说什么。
fetch_ban BanEntry(discord.py源代码)
如果你浏览源代码,你会很快在第一行找到这个:
BanEntry = namedtuple('BanEntry', 'reason user')
如果用户被禁止,则返回一个 BanEntry 对象,否则returns一个 NotFound 异常。 因此,要检查用户是否被禁止,只需执行以下操作:
async def is_banned(guild, user):
try:
entry = await guild.fetch_ban(user)
except discord.NotFound:
return False
return True
这也适用于成员,因为它们基本上是具有一些额外功能的用户对象。
BanEntry 是一个命名元组(如果您需要复习那些 here)。
如果你想命令发送被禁用户列表
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)