我正在用python编写一个Telegram机器人程序,使用python3.x的python-telegram-bot
库。这是一个 * 仅 * 供私人使用的机器人程序(我和一些亲戚),所以我想阻止其他用户使用它。我的想法是创建一个授权用户ID列表,机器人不能回复来自不在列表中的用户的消息。我该怎么做?
**编辑:**我对python和python-telegram-bot
都是新手。如果可能的话,我希望有一个代码片段作为例子=)。
我正在用python编写一个Telegram机器人程序,使用python3.x的python-telegram-bot
库。这是一个 * 仅 * 供私人使用的机器人程序(我和一些亲戚),所以我想阻止其他用户使用它。我的想法是创建一个授权用户ID列表,机器人不能回复来自不在列表中的用户的消息。我该怎么做?
**编辑:**我对python和python-telegram-bot
都是新手。如果可能的话,我希望有一个代码片段作为例子=)。
6条答案
按热度按时间n1bvdmb61#
我从图书馆的官方wiki上找到了一个解决方案,它使用了一个装饰器。代码:
我只是
@restricted
每个函数。oxcyiej72#
还可以创建自定义处理程序来限制正在执行的消息处理程序。
只需确保将
AdminHandler
注册为第一个处理程序:现在,如果不是来自授权用户(
admin_ids
),Bot接收的每个更新(或消息)都将被拒绝。nx7onnlm3#
使用聊天ID。创建一个小列表,其中包含您想要允许的聊天ID,您可以忽略其余的。
指向文档的链接,您可以在其中找到https://python-telegram-bot.readthedocs.io/en/stable/telegram.chat.html的详细信息
jk9hmnmh4#
h9vpoimq5#
ttcibm8c6#
您可以使用telegram.ext.filters.User。
下面的小示例