Как сделать проверку, через sender_chat?
Подскажите, как сделать проверку, является ли отправитель сообщения администратором группы. Использую библиотеку PyTelegramBotApi.
Нашел в документации, как теперь из всего этого ,сделать код проверки. https://core.telegram.org/bots/api#getchatmember
Весь код
@bot.message_handler(func=lambda message: message.entities is not None and message.chat.id)
def delete_links(message):
for entity in message.entities:
if entity.type in ["url", "text_link"]:
if message.sender_chat and message.sender_chat == "supergroup":
return bot.delete_message(message.chat.id, message.message_id)
else:
return
Ответы (1 шт):
Автор решения: MyZik
→ Ссылка
Непонятна Ваша конкретная задача, но получить данные пользователя чата можно с помощью метода getChatMember. Примерно в Вашем случае это должно выглядеть так.
@bot.message_handler(func=lambda message: message.entities is not None and message.chat.id)
def delete_links(message):
if message.chat.type != "supergroup":
return
member = bot.get_chat_member(message.chat.id, message.from_user.id)
if isinstance(member, types.ChatMemberMember):
for entity in message.entities:
if entity.type in ["url", "text_link"]:
return bot.delete_message(message.chat.id, message.message_id)
Описание:
- Отправлено ли сообщение в группе
- Если да, проверяет права пользователя в чате, является ли он администратором
- Если нет, проходит по сообщению, если в нём есть ссылки, удаляет сообщение.