{"id":27042502,"url":"https://github.com/dimflix/leadbot","last_synced_at":"2025-04-05T04:28:45.887Z","repository":{"id":275830097,"uuid":"926711180","full_name":"DIMFLIX/LeadBot","owner":"DIMFLIX","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-11T09:10:32.000Z","size":103,"stargazers_count":37,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T09:35:57.672Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DIMFLIX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-03T18:23:28.000Z","updated_at":"2025-03-16T01:56:39.000Z","dependencies_parsed_at":"2025-03-21T09:36:01.642Z","dependency_job_id":"014909ae-7477-4f16-84eb-29cb060816c6","html_url":"https://github.com/DIMFLIX/LeadBot","commit_stats":null,"previous_names":["dimflix-official/leadbot","dimflix/leadbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX%2FLeadBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX%2FLeadBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX%2FLeadBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX%2FLeadBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DIMFLIX","download_url":"https://codeload.github.com/DIMFLIX/LeadBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289401,"owners_count":20914463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-05T04:28:45.377Z","updated_at":"2025-04-05T04:28:45.874Z","avatar_url":"https://github.com/DIMFLIX.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Leadbot\nСкрипт, который автоматически мониторит Telegram-чаты, ищет сообщения с триггерными словами (например, \"ОБМЕН\", \"ИЩУ\", \"USDT\") и пересылает их в группу менеджеров с метаданными.\n\n# Тех. Задание: Telegram-бот для лидогенерации в ОАЭ\n## Цель\nСоздать скрипт, который автоматически мониторит Telegram-чаты, ищет сообщения с триггерными словами (например, \"ОБМЕН\", \"ИЩУ\", \"USDT\") и пересылает их в группу менеджеров с метаданными.\n\n## Функциональные требования\n1. Подключение нескольких аккаунтов Telegram:\n    Скрипт должен поддерживать одновременную работу от 3+ аккаунтов для расширения охвата.\n    Легкое добавление новых аккаунтов (чем меньше действий, тем лучше)\n2. Мониторинг чатов:\n    Список чатов для мониторинга автоматически парситься с аккаунтов 1 раз из папки “CP” на аккаунте, когда мы запускаем скрипт с выбором меню\n    Поддержка как публичных, так и приватных чатов (при наличии доступа у аккаунта).\n3. Триггерные слова:\n    Настраиваемый список ключевых слов (например, \"обмен\", \"usdt\", \"ищу\", \"exchange\", \"доллары\").\n    Поиск с учетом регистра (или без него, в зависимости от настройки).\n    Возможность добавлять/удалять слова без изменения кода.\n4. Обработка сообщений:\n    - При обнаружении триггерного слова в сообщении: \\\n        - Переслать исходное сообщение в группу менеджеров\n    - Добавить к сообщению метаданные: \n        - Название чата (и его ID).\n        - Время отправки сообщения (в формате DD.MM.YYYY HH:MM).\n        - Длина текста сообщения (символы).\n        - Имя пользователя (если есть) и его Telegram ID + ссылка на него.\n        - Прямая ссылка на сообщение.\n5. Логирование:\n    - Запись действий в отдельный чат телеграмма  (успешные пересылки, ошибки, подключения аккаунтов).\n    - Уведомление об ошибках (например, отключение аккаунта) в отдельный чат телеграмма.\n\n\n6. Нефункциональные требования\n    1. Технологии:\n        - Язык: Python\n        - Запуск: Скрипт работает 24/7 на сервере или VPS (помощь в настройке).\n    2. Производительность:\n        - Минимальная задержка между обнаружением сообщения и пересылкой (\u003c 10 секунд).\n    3. Масштабируемость:\n        - Возможность добавлять новые аккаунты и чаты без корректировок исходного кода.\n\n---\n\nПример сообщения для менеджеров\n\n```\n⚠️ Новый лид!  \nСообщение: \"Ищу обмен USDT на AED в Дубае\"  \nЧат: Dubai Exchange Chat (ID: -123456789; @DubaiObmen)  \nАвтор: @username (ID: 987654321)  \nВремя: 25.05.2024 14:30  \nДлина: 25 символов  \n\n[написать]\n```\n\n# Запуск\n1. Скачиваем python 3.11\u003e\n2. Скачиваем [uv](https://github.com/astral-sh/uv)\n3. Устанавливаем зависимости `uv sync`\n4. Копируем конфиг и заполняем нужными данными `cp .env.yaml.example .env.yaml`\n5. Добавляем аккаунты через `uv run add_account`\n6. Запускаем скрипт `uv run leadbot`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimflix%2Fleadbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimflix%2Fleadbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimflix%2Fleadbot/lists"}