Telegram Bot:命令可见供管理员使用

Telegram Bot: Commands visible for admin to use

电报机器人是否可以设置仅供管理员使用的命令?因为我想实现一个功能,只有电报机器人的管理员可以使用,其他用户不能使用。

使用包装器。

def restricted(func):
    @wraps(func)
    def wrapped(update, context, *args, **kwargs):
        if not admin:
            return end_func(update, context, *args, **kwargs)

        return func(update, context, *args, **kwargs)

    return wrapped

使用 python-telegram-bot 有几种方法可以做到这一点。 inyrface 建议的装饰器可以工作 - 另见 here and here for a way to cache the admins list. Another option is to user Filters.user. Finally, ptbcontrib/roles 有一个内置的缓存管理检查。

除此之外,您还可以设置命令,使其在 gui 中仅对管理员可见 - 使用 BotCommandScopeChatAdministrators。这不会阻止其他用户手动键入命令,而是一个额外的步骤。


免责声明:I.m 目前是 python-telegram-bot

的维护者