Я добавил своего бота в групповой чат, теперь для нескольких команд мне нужно дать доступ только администратору группы, поэтому можно ли определить, является ли отправитель сообщения администратором группы? Я использую библиотеку python-telegram-bot
Telegram Bot: Можем ли мы определить, отправлено ли сообщение администратором группы?
Ответы (3)
Это абсолютно возможно. Вы можете использовать метод API getChatAdministrators
( возвращает список ChatMember
), чтобы получить список администраторов для чат или метод API getChatMember
( возвращает один ChatMember
), чтобы получить статус администратора одного пользователя .
Эффективный метод решения этой проблемы описан здесь: https://github.com/python-telegram-bot/python-telegram-bot/wiki/Code-snippets#cached-telegram-group-administrator-проверить
Когда вы используете getUpdates, вы можете видеть, что .message.chat.type
является group
или нет.
Затем используйте getChatMember, .result.status
должно быть administrator
или creator
.
Нет. Вам нужно жестко закодировать идентификатор пользователя в исходном коде и сравнить его с идентификатором пользователя в массиве admin-ids.