https://github.com/dimflix/leadbot
https://github.com/dimflix/leadbot
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/dimflix/leadbot
- Owner: DIMFLIX
- Created: 2025-02-03T18:23:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-11T09:10:32.000Z (over 1 year ago)
- Last Synced: 2025-03-21T09:35:57.672Z (over 1 year ago)
- Language: Python
- Size: 101 KB
- Stars: 37
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Leadbot
Скрипт, который автоматически мониторит Telegram-чаты, ищет сообщения с триггерными словами (например, "ОБМЕН", "ИЩУ", "USDT") и пересылает их в группу менеджеров с метаданными.
# Тех. Задание: Telegram-бот для лидогенерации в ОАЭ
## Цель
Создать скрипт, который автоматически мониторит Telegram-чаты, ищет сообщения с триггерными словами (например, "ОБМЕН", "ИЩУ", "USDT") и пересылает их в группу менеджеров с метаданными.
## Функциональные требования
1. Подключение нескольких аккаунтов Telegram:
Скрипт должен поддерживать одновременную работу от 3+ аккаунтов для расширения охвата.
Легкое добавление новых аккаунтов (чем меньше действий, тем лучше)
2. Мониторинг чатов:
Список чатов для мониторинга автоматически парситься с аккаунтов 1 раз из папки “CP” на аккаунте, когда мы запускаем скрипт с выбором меню
Поддержка как публичных, так и приватных чатов (при наличии доступа у аккаунта).
3. Триггерные слова:
Настраиваемый список ключевых слов (например, "обмен", "usdt", "ищу", "exchange", "доллары").
Поиск с учетом регистра (или без него, в зависимости от настройки).
Возможность добавлять/удалять слова без изменения кода.
4. Обработка сообщений:
- При обнаружении триггерного слова в сообщении: \
- Переслать исходное сообщение в группу менеджеров
- Добавить к сообщению метаданные:
- Название чата (и его ID).
- Время отправки сообщения (в формате DD.MM.YYYY HH:MM).
- Длина текста сообщения (символы).
- Имя пользователя (если есть) и его Telegram ID + ссылка на него.
- Прямая ссылка на сообщение.
5. Логирование:
- Запись действий в отдельный чат телеграмма (успешные пересылки, ошибки, подключения аккаунтов).
- Уведомление об ошибках (например, отключение аккаунта) в отдельный чат телеграмма.
6. Нефункциональные требования
1. Технологии:
- Язык: Python
- Запуск: Скрипт работает 24/7 на сервере или VPS (помощь в настройке).
2. Производительность:
- Минимальная задержка между обнаружением сообщения и пересылкой (< 10 секунд).
3. Масштабируемость:
- Возможность добавлять новые аккаунты и чаты без корректировок исходного кода.
---
Пример сообщения для менеджеров
```
⚠️ Новый лид!
Сообщение: "Ищу обмен USDT на AED в Дубае"
Чат: Dubai Exchange Chat (ID: -123456789; @DubaiObmen)
Автор: @username (ID: 987654321)
Время: 25.05.2024 14:30
Длина: 25 символов
[написать]
```
# Запуск
1. Скачиваем python 3.11>
2. Скачиваем [uv](https://github.com/astral-sh/uv)
3. Устанавливаем зависимости `uv sync`
4. Копируем конфиг и заполняем нужными данными `cp .env.yaml.example .env.yaml`
5. Добавляем аккаунты через `uv run add_account`
6. Запускаем скрипт `uv run leadbot`