Технічне завдання (ТЗ) для розробки Telegram-бота, який знаходить групи без капчі для розсилки оголошень
1. Мета проекту
Мета — створення Telegram-бота, який автоматично здійснює пошук публічних груп на основі ключових слів, перевіряє наявність капчі при вступі в групу, і надає користувачеві список груп, де можливе розміщення оголошень без підтвердження капчі.
2. Основні функції
1. Пошук груп по ключових словах:
• Бот повинен виконувати пошук публічних груп в Telegram на основі ключових слів, введених користувачем.
• Необхідно реалізувати функцію автоматичного збору інформації про знайдені групи.
2. Перевірка наявності капчі:
• Після пошуку бот перевіряє можливість вступу в кожну знайдену групу без проходження капчі. Якщо капча присутня, бот повідомляє про це користувача.
• Автоматична обробка груп для виявлення наявності капчі перед вступом в групу.
3. Зберігання результатів:
• Зберігати знайдені групи в базі даних з позначками про наявність/відсутність капчі.
• Повторне використання збережених груп для прискорення пошуку при повторних запитах.
4. Управління користувачами:
• Бот повинен підтримувати кілька рівнів доступу: користувачі (з можливістю пошуку груп) та адміністратори (для управління та перевірки роботи бота).
5. Взаємодія з API капчі:
• Інтеграція з сервісами капчі (наприклад, 2Captcha або AntiCaptcha) для автоматичної перевірки капчі при вступі в групу.
6. Оповіщення користувачів:
• Виведення результатів пошуку у вигляді списку доступних груп з інформацією про можливість розсилки без капчі.
• Можливість повторного перегляду списку доступних груп за запитом користувача.
3. Архітектура системи
1. Telegram API:
• Бот інтегрується з офіційним API Telegram для пошуку публічних груп, збору інформації про них та перевірки капчі.
2. База даних:
• Для зберігання інформації про знайдені групи використовується база даних (наприклад, NoSQL або SQL), де фіксуються статуси перевірок капчі, кількість учасників групи та інші метадані.
3. API для перевірки капчі:
• Інтеграція з зовнішніми API для автоматичного вирішення капчі при вступі в групу. Бот має відправляти запити до сервісів, таких як 2Captcha або AntiCaptcha, і отримувати результат перевірки.
4. Кешування та оптимізація:
• Для оптимізації повторних запитів варто використовувати кешування результатів пошуку груп і капчі. Це дозволить зменшити навантаження на сервер і підвищити швидкість обробки запитів.
4. Основні компоненти системи
1. Користувацький інтерфейс:
• Інтуїтивно зрозумілий текстовий інтерфейс, через який користувач може виконувати пошук груп за допомогою команд.
• Приклад команд:
• /search <ключові слова> — пошук груп по ключових словах.
• /list — перегляд списку груп, де можна розміщувати оголошення без капчі.
• /captcha_check <group_id> — ручна перевірка групи на капчу.
2. База даних:
• Таблиця груп, яка містить такі поля:
• Назва групи.
• Кількість учасників.
• Посилання на групу.
• Статус капчі (наявна або відсутня).
• Дата останньої перевірки.
3. Адміністративна панель:
• Адміністратори можуть керувати ботом: запускати перевірку груп, додавати або видаляти групи вручну, налаштовувати частоту перевірок.
5. Моделі даних
1. Група:
• Назва групи: рядок.
• Посилання на групу: рядок.
• Кількість учасників: число.
• Статус капчі: булеве значення (true/false).
• Дата останньої перевірки: дата.
2. Користувач:
• ID користувача: унікальний ідентифікатор користувача.
• Ім’я користувача: рядок.
• Рівень доступу: користувач або адміністратор.
6. Безпека
1. Шифрування даних:
• Вся взаємодія між ботом і сервером повинна бути захищена (використання HTTPS).
2. Аутентифікація адміністратора:
• Доступ до адміністративних функцій повинен бути захищений паролем або токеном для уникнення несанкціонованого доступу.
7. Тестування
1. Модульне тестування:
• Для кожного окремого компонента бота повинні бути створені модульні тести (пошук груп, перевірка капчі, збереження даних у базі).
2. Стрес-тестування:
• Тестування навантаження для перевірки стійкості системи при одночасній роботі багатьох користувачів.
3. Тестування інтеграцій:
• Тестування інтеграції з Telegram API і сервісами капчі для перевірки правильності взаємодії між компонентами системи.
8. Можливі ризики
1. Зміни в Telegram API:
• Telegram може змінювати умови використання API, тому потрібно бути готовим до швидкої адаптації бота.
2. Обмеження на використання капчі:
• Сервіси капчі можуть вводити обмеження на кількість запитів, що вимагає оптимізації і використання кешування для зменшення навантаження.
9. План впровадження
1. Фаза 1 (1-2 тижні): Реалізація основного функціоналу пошуку груп і перевірки на капчу.
2. Фаза 2 (2-3 тижні): Інтеграція з базою даних, збереження і кешування результатів.
3. Фаза 3 (1-2 тижні): Адміністративна панель, налаштування прав доступу і безпеки.
4. Фаза 4 (1-2 тижні): Тестування, відладка і підготовка до запуску.
10. Підтримка
Після впровадження бота необхідно передбачити підтримку і оновлення системи, особливо у випадку змін в Telegram API або сервісах капчі.