@commands.command()
async def banchart(self,ctx):
bannnedUsers = await ctx.guild.bans()
for user in bannnedUsers:
for i in range(len(user)):
await ctx.send(user[i])
我试图发出一个命令,在那里我可以看到服务器上禁止了哪些用户,以及谁禁止了他们
但是ctx.guild.bans()
似乎只显示被禁止用户的姓名
我还可以使用什么来查看被禁止的用户和禁止他们的人
感谢您的帮助:)
这会变得有点复杂,但让我一步一步来。这可能会让人有点困惑,但是
一步一步的方法来存储谁禁止了一个成员
步骤1:创建一个JSON文件并在其中添加一个空字典。
JSON文件将用于将数据保存到JSON文件中,就像重新启动bot时删除收集的资源一样。因此,通过将这些信息添加到JSON文件中,我们将永久保存它。我们可以从JSON文件中添加和提取数据,因此在这里会有所帮助
创建具有任意名称的文件。我正在制作:
moderationinfo.json
现在在其中添加以下代码:
步骤2:创建Ban命令,将用户数据添加到JSON文件中。
该命令将禁止一个成员,并将信息上传到JSON文件中。然后,我们将使用下面将要解释的另一个命令从JSON文件中提取数据
禁令命令:
我认为被禁止的用户ID是一个重要的值,因为它对每个人都是唯一的。因此,代码首先检查条目是否存在。如果没有,它将创建一个列表,如果有,则将值附加到列表中
加起来的值是:
banned-member-id
、moderator
、banned-member
和time
更多信息可从以下答案中获取:
Discord.py: How to extract a Boolean value for if someone is muted or not
我曾为tempmute问过这个问题,但JSON的工作是一样的。所以你可以参考它
步骤3:创建
banchart
函数以从JSON文件中提取值。我们将创建一个函数,然后提取特定值并将其嵌入到消息中,然后打印它。此命令将显示我们需要的数据
班查特功能:
这个命令对于您想要执行的操作非常有效
这就是你要做的一切
一些图片解释了这些步骤:
一,。正在执行BAN命令和确认消息。
二,。包含我们的信息的BANCHART命令。
三,。JSON文件中的数据。
我希望我能够解释我的工作,如果您还有任何问题,请随时问我
谢谢D
你可以获取公会的审计日志并在那里搜索条目
相关问题 更多 >
编程相关推荐