An open API service indexing awesome lists of open source software.

https://github.com/dimflix/leadbot


https://github.com/dimflix/leadbot

Last synced: about 1 year ago
JSON representation

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`