Как сделать проверку, через 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)

Описание:

  1. Отправлено ли сообщение в группе
  2. Если да, проверяет права пользователя в чате, является ли он администратором
  3. Если нет, проходит по сообщению, если в нём есть ссылки, удаляет сообщение.
→ Ссылка