Задать вопрос
  • Как заблокировать спам от PostBot?

    @SAreo Автор вопроса
    User, низкий поклон и благодарность! Запустил, работает как часы, во всех вариантах сообщений от бота) СпАсИбО!)
    Написано
  • Как заблокировать спам от PostBot?

    @SAreo Автор вопроса
    User, сейчас заметил другую особенность. Если созданное сообщение в PostBot я просто пересылаю в группу, правило блокировки срабатывает. Но у PostBot, после создания сообщения, есть кнопка поделиться. Затем выбирается группа, куда поделиться, и именно в этой группе выбирается сообщение(через меню PosBot). Тогда, правило не срабатывает, независимо от содержимого.
    Получается, если статус сообщения "переслано", то блокировка срабатывает. 6646515f90483353958630.jpeg
    А если статус сообщения "через PostBot" то правило не срабатывает. 6646513a6806a919461075.jpeg
    Написано
  • Как заблокировать спам от PostBot?

    @SAreo Автор вопроса
    User, вау! Блин! Всё гениальное просто) Огромное спасибо!) Сработало)
    Написано
  • Как заблокировать спам от PostBot?

    @SAreo Автор вопроса
    спасибо! с вашей помощью победил. но вышел на новую загвоздку. если сообщение переслано с любым текстом, от бота, то правило блокировки срабатывает и банит пользователя который переслал сообщение. но если пользователь переслал сообщение, в котором нет текста, а только картинка, то правило блокировки не срабатывает. Пробовал такой вариант if message.text or message.caption or message.document or message.photo но не помогло. Видимо опять что-то я недопонимаю(
    Написано
  • Как заблокировать спам от PostBot?

    @SAreo Автор вопроса
    Спасибо. Попробовал узнать id из сообщения. Делал по такому принципу:

    # Обработчик сообщений
    @bot.message_handler(func=lambda message: True)
    def block_user(message):
        try:
            # Проверяем, разрешен ли чат для использования бота
            if str(message.chat.id) in ALLOWED_CHATS:
                # Проверяем, создано ли сообщение ботом "Post Bot" с id 273234066
                if message.from_user and message.from_user.is_bot and message.from_user.id == 273234066:
                    logger.info(f'Сообщение создано ботом "Post Bot" с id 273234066. Применяем блокировку пользователя.')
                    # Ограничить пользователя на отправку сообщений на 7 дней
                    bot.restrict_chat_member(message.chat.id, message.from_user.id, until_date=int(time.time()) + 604800)
                    # Удалить сообщение от бота "Post Bot"
                    bot.delete_message(message.chat.id, message.message_id)
                    logger.info(f'Удалено сообщение от бота "Post Bot" в чате {message.chat.id}.')
                    return


    Но не прокатило( Видимо потому что сообщение пересланное. Вот тут у меня блок, как решить это
    Написано