Бот для удаления кружков
Traffic Cardinal Traffic Cardinal  написал 22.10.2025

Бот для удаления кружков

Traffic Cardinal Traffic Cardinal  написал 22.10.2025
4 мин
0
36
Содержание

Бывает, что, заходя в тот или иной чат, хочется почитать, что же, собственно, в этом чате писалось, но вместо этого приходится разглядывать ленту из кружков. При этом, так как чаты — место публичное, то добавление отправителей кружков в ЧС ничем не помогает, если только вы не админ. К счастью, можно просто сделать бот, который удалит все кружки. Как? Об этом мы и расскажем сегодня.

Какие задачи решает бот для удаления кружков

Казалось бы, бот для удаления кружков решает одну-единственную задачу — удаляет кружки. Каких-либо маркетинговых задач, в отличие от большинства других наших ботов, этот бот не решает и решать не может, даже если упороться и попытаться их выдумать. Более того, он также не решает задачи администрирования — так как является чистым user-ботом.

Однако даже в этом случае все не так просто, ибо вместо одной-единственной задачи — удаление кружков, их на самом деле две, а именно:

  • автоматическое удаление всех новых кружков,

  • полуавтоматическое удаление старых кружков.

Почему бы удаление старых кружков не автоматизировать? Если вкратце — потому что взаимодействие с новым и старым в Телеге реализовано по-разному, и автоматизация удаления старых кружков мало того что сильно снизила бы быстродействие, так еще и регулярно провоцировала бы если не бан, то выход на лимит. Короче говоря, потому, что это невозможно.

Принцип работы бота для удаления кружков

Алгоритмически же все просто:

  1. Бот проходит авторизацию и сохраняет сессию.
  2. Бот прослушивает эфир.
  3. При появлении события «новое сообщение» — проверяет его на наличие кружка.
  4. Если кружок есть и отправитель не мы — удаляет его.
  5. Если кружок есть и отправитель мы — игнорирует.
  6. Если кружка нет и сообщение «драсти» — перебирает последние 1000 сообщения чата, где было написано «драсти», и удаляет среди них те, где есть кружки.
  7. Если кружка нет и сообщение не «драсти» — игнорирует.

Как видите, ничего сложного.

Пошаговая инструкция, как сделать бот для удаления кружков

Несложной получилась и техническая реализация, бот занял всего 26 строк кода (37 с правильным форматированием). Впрочем, сначала нужно настроить сервер. Подразумевается, что сам сервер у вас уже есть и что он подходит для работы с Python. В этом случает вводим в консоль:

pip install telethon

Если же сервера у вас нет — здесь расписано, как развернуть его на домашнем ПК.

После этого получаем реквизиты для авторизации. Делается это так:

  1. Заходим в веб-версию.
  2. Жмем «API development tools».
  3. Заполняем форму.
  4. Копируем api_id и api_hash.

Далее:

  1. Создаем на сервере файл bot.py.
  2. С помощью текстового редактора вносим в него:
    from telethon import TelegramClient, events
    from telethon.tl.types import MessageMediaDocument
    api_id = ваш api_id
    api_hash = "ваш api_hash"
    client = TelegramClient("session_name", api_id, api_hash)
    def is_round_video(msg):
    if isinstance(msg.media, MessageMediaDocument):
    attributes = msg.media.document.attributes
    return any(getattr(attr, "round_message", False) for attr in attributes)
    return False
    @client.on(events.NewMessage(incoming=True))
    async def handler(event):
    if event.out:
    return
    if is_round_video(event.message):
    await event.message.delete()
    @client.on(events.NewMessage(outgoing=True, pattern=r"^драсти$"))
    async def cleanup(event):
    chat = await event.get_input_chat()
    async for msg in client.iter_messages(chat, limit=1000):
    if is_round_video(msg):
    await msg.delete()
    print("Очистка завершена.")
    print("Запуск клиента...")
    client.start()
    client.run_until_disconnected()
  3. Заменяем ваш api_id и ваш api_hash на свои.
  4. Сохраняем.
  5. Запускаем командой python bot.py и проверяем, все ли работает.

Демонстрация работы

Смотрим на чат с двух акков. Есть test, кружок до запуска бота, и еще одно сообщение test. Запускаем бот. Записываем кружок — бот его удаляет автоматом. При этом старые кружки на месте
Смотрим на чат с двух акков. Есть test, кружок до запуска бота, и еще одно сообщение test. Запускаем бот. Записываем кружок — бот его удаляет автоматом. При этом старые кружки на месте

Пишем слово-активатор «драсти» — бот удаляет еще и старые кружки
Пишем слово-активатор «драсти» — бот удаляет еще и старые кружки

Подводя итоги

Вот такой простой и изящный бот получился в этот раз. Кстати, символично. Ведь после его использования и ваши чаты станут такими же.

Здравствуйте! У вас включен блокировщик рекламы, часть сайта не будет работать!