我用aiogram写了一个电报机器人。我想限制它,以便某些用户可以访问它。我读过这个问题,其中有不同电报机器人库的答案。但是对于 aiogram,我发现的唯一解决方案是添加一个“if 条件”来检查发件人的用户 ID 并以正确的文本进行响应。例如:
allowed_ids = [111111,2222222,3333333,4444444,5555555]
def handle(msg):
sender = msg.from_user['id']
if sender in allowed_ids:
[...]
else:
bot.sendMessage(chat_id, 'Forbidden access!')
bot.sendMessage(chat_id, sender)
这个解决方案的问题是我必须检查每个事件的发件人 ID!对于不同的命令和状态,我有 10 种不同的 message_handler。所以这将导致 10 个类似的 if 检查。没有更简单的方法吗?
我filters_factory
在调度程序的构造函数中找到了一个可选参数,这是正确的方法吗?如果是这样,我应该如何使用它?谢谢