繁体   English   中英

如何在discord.py中将用户列入黑名单和白名单?

[英]How to blacklist and whitelist users in discord.py?

嗨,我正在尝试制作白名单和黑名单命令,通过这些命令我可以将使用我的机器人的用户列入黑名单,我正在使用 postgreSQL 并且我已经成功地制作了存储用户 ID 的命令以及将用户列入黑名单的原因,我只想知道如何我可以进行全局检查或类似的检查,以便机器人在处理每个命令之前检查 blacklisted_users 表,如果作者 ID 在黑名单用户中,则返回。 抱歉,我无法提供我尝试过的内容,因为 Idk 实际上从哪里开始。 我只是想知道这种全局检查的基本语法,我可以处理休息。 谢谢。

来自Bot.checkAPI 文档

向机器人添加全局检查的装饰器。

全局检查类似于在每个命令的基础上应用的 check() ,不同之处在于它在任何命令检查被验证之前运行并适用于机器人拥有的每个命令。

与命令 check() 类似,它采用 Context 类型的单个参数,并且只能引发从 CommandError 继承的异常。

这意味着你首先需要编写一个函数,要么检查,如果ctx author.id是在你的blacklist表或函数,返回每个id在一个黑名单list

@Bot.check()
def blacklist_check(ctx):
    blacklisted = [] # Write a function that gets every blacklisted user's ID from your database
    return ctx.author.id not in blacklisted # Checks if the author is in your blacklist

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM