Розробка Telegram‑бота з WebApp для подачі та обробки заявок
8000 UAHСтворити Telegram‑бота (на основі бібліотеки aiogram) та супутній WebApp (на AngularJS), який дозволятиме користувачам подавати заявки з додатковими параметрами, здійснювати реєстрацію та отримувати відповіді від адміністратора. Система має зберігати дані у локальних JSON‑файлах, а також оновлювати дані в Google Sheets (2 таблиці) із застосуванням форматування клітинок.
---
1. Загальний опис проєкту
1.1 Функціональність бота
- Реєстрація користувачів:
- Введення ПІБ та номера телефону (можливість поділитись контактом)
- Попередній перегляд даних, редагування та підтвердження
- Збереження даних у файлі `users.json` із статусами: pending, approved, blocked
- Модуль подачі заявок:
- Користувач може подати заявку через WebApp
- Збереження даних заявки у файлі `applications_by_user.json`
- Запис даних у Google Sheet (таблиця1) із оновленням номера заявки, дати, ПІБ, ФГ, ЄДРПОУ, групи, культури, кількості, локації, додаткових параметрів, форми оплати, валюти, ціни, номера телефону, user_id
- Оновлення даних у таблиці2 (відображення ціни з можливістю видалення клітинки із зсувом рядків та скиданням форматування)
- Адміністративний модуль:
- Вхід через команду /admin для користувачів із правами адміністратора
- Меню для перегляду заявок (pending, approved, deleted)
- Можливість схвалення (approve) або блокування (block) користувачів
- Редагування даних схвалених користувачів (ПІБ, номер телефону)
- Перегляд детальної інформації по заявках, їх підтвердження, відхилення, видалення (як soft, так і повне видалення з файлу та Google Sheets)
- Функція вивантаження бази даних користувачів до Google Sheets із форматуванням (вирівнювання, жирний шрифт, автоматичне встановлення ширини стовпців)
- Фоновий процес (polling):
- Періодична перевірка Google Sheets на зміну значень менеджерської ціни
- Відправка повідомлень користувачам при оновленні пропозиції, а також зміна статусів заявки (active, waiting, Agreed, confirmed, deleted, rejected)
- Інтеграція з Google Sheets:
- Авторизація через Service Account із використанням `oauth2client` та бібліотеки `gspread`
- Функції для читання, оновлення, видалення рядків та форматування клітинок (з застосуванням `gspread-formatting`)
1.2 Функціональність WebApp
- Інтерфейс форми:
- Розбиття на кілька кроків:
1. Основні дані: Введення назви ФГ (не обов’язково), коду ЄДРПОУ (8 або 10 цифр, не обов’язково), локації (область, район, місто) – інтеграція з AngularJS для роботи з даними локації (через dropdown‑листи, які завантажуються з локального JSON‑файлу або API)
2. Деталі заявки: Вибір групи, культури, додаткові параметри (залежно від вибраної культури – різні поля для пшениці, ячменю, кукурудзи, соняшника, ріпаку, сої тощо), введення кількості
3. Ціна: Введення бажаної ціни (не обов’язково), вибір валюти та форми оплати (динамічне оновлення форми оплати залежно від валюти)
- Prefill параметрів:
- Зчитування параметра `data` з URL для попереднього заповнення форми
- Встановлення даних у поля форми
- Взаємодія з Telegram WebApp API:
- Використання бібліотеки Telegram WebApp JS (з функціями sendData, close, ready)
- Відправка JSON‑даних заявки до сервера бота через fetch POST запит
---
2. Технічні вимоги
2.1 Стек технологій
- Бекенд (Telegram‑бот):
- Мова: Python 3.7+
- Фреймворк: aiogram
- Бібліотеки: asyncio, logging, json, aiohttp, gspread, oauth2client, gspread-formatting, zoneinfo
- Зберігання даних: локальні JSON‑файли (users.json, applications_by_user.json, config.py)
- Інтеграція з Google Sheets через API
- WebApp:
- Мова: HTML, CSS, JavaScript
- Фреймворк: AngularJS (1.x)
- Інтеграція з Telegram WebApp API
2.2 Архітектура
- Telegram‑бот:
- Робота за схемою FSM (Finite State Machine) для керування діалогами
- Асинхронна обробка повідомлень та фонових задач (poll_manager_proposals, HTTP‑сервер)
- Розподіл прав користувачів: pending, approved, blocked
- Адміністративне меню для модерації користувачів та заявок
- WebApp:
- Розбиття на сторінки (кроки) з можливістю переходів «Назад/Далі»
- Динамічне завантаження даних для dropdown‑листів
- Валідація введених даних (формати, мінімальні вимоги)
- Відправка даних через Telegram WebApp API та fetch запит на HTTP‑сервер
2.3 Безпека
- Захист даних користувачів при зберіганні в JSON‑файлах
- Перевірка доступу до адміністративних команд (ADMINS, отриманих із змінних оточення)
- Валідація введених даних (номер телефону, коди ЄДРПОУ, числові формати)
2.4 Хостинг та розгортання
- Бот запускається як окремий процес (наприклад, через systemd або Docker)
- WebApp може бути розміщено на окремому сервері (або на тому ж сервері, що і бот)
- HTTP‑сервер (aiohttp) для прийому POST‑запитів від WebApp
---
3. Функціональні блоки та вимоги
3.1 Функціонал Telegram‑бота
- Ініціалізація та конфігурація:
- Читання змінних оточення: TELEGRAM_TOKEN, ADMINS, GOOGLE_SPREADSHEET_ID, GOOGLE_SPREADSHEET_ID2, API_PORT, DATA_DIR тощо
- Завантаження credentials для Google API із змінної оточення (GSPREAD_CREDENTIALS_JSON)
- Робота з файлами:
- Створення файлів users.json, applications_by_user.json, config.py, якщо вони не існують
- Функції для читання та запису даних (load_users, save_users, load_applications, save_applications)
- Реєстрація та модерація користувачів:
- Обробка /start – перевірка статусу користувача (approved, pending, blocked)
- Збір даних для реєстрації (ПІБ, номер телефону) із попереднім переглядом та редагуванням
- Адміністративне схвалення або блокування через спеціальний інтерфейс
- Подача та обробка заявок:
- Прийом даних з WebApp (через текстове повідомлення з JSON або content‑type WEB_APP_DATA)
- Функції для запису заявки у файл та Google Sheets (update_google_sheet, add_application)
- Можливість перегляду заявок, їх редагування, видалення (soft та повне)
- Адміністративний інтерфейс:
- Меню для модерації, перегляду схвалених/видалених заявок
- Детальний перегляд заявки та можливість зміни статусів
- Функції для редагування даних схвалених користувачів
- Фоновий процес:
- Періодична перевірка Google Sheets для оновлення значень менеджерської ціни
- Надсилання сповіщень користувачам при зміні пропозиції
- Керування зупинкою/відновленням полінгу (POLLING_PAUSED)
- HTTP‑сервер:
- Прийом POST‑запитів із WebApp для preview даних (endpoint: /api/webapp_data)
3.2 Функціонал WebApp
- Інтерфейс форми з кількома кроками:
- Сторінка 1: Основні дані (ФГ, ЄДРПОУ, локація через AngularJS dropdown‑листи)
- Сторінка 2: Деталі заявки (група, культура, додаткові параметри залежно від культури, кількість)
- Сторінка 3: Ціна, валюта, форма оплати
- Попереднє заповнення:
- Зчитування даних з URL‑параметра (data) та встановлення значень у відповідні поля
- Валідація даних:
- Перевірка формату ЄДРПОУ (8 або 10 цифр)
- Перевірка числових форматів для додаткових параметрів (формат XX.X)
- Взаємодія з Telegram WebApp API:
- Ініціалізація WebApp, надсилання заповнених даних через sendData
- Відправка POST‑запиту на сервер (endpoint /api/webapp_data) для перевірки отриманих даних
- Закриття WebApp після успішного відправлення
---
4. Інтеграція з Google Sheets
- Використання Google API з використанням Service Account
- Отримання доступу до двох таблиць (GOOGLE_SPREADSHEET_ID та GOOGLE_SPREADSHEET_ID2)
- Функції:
- update_google_sheet: запис даних заявки, обчислення нового номеру, запис дати, ПІБ, даних заявки
- export_database: вивантаження бази схвалених користувачів до нового листа із застосуванням форматування
- delete_price_cell_in_table2: видалення клітинки з ціною із зсувом рядків та очищенням форматування
Прошу у пропозиціях писати реальну мінімальну ціну для цього бота, без занижень, щоб відразу розуміти на що розраховувати
-
Вітаю Вас!
Я project manager компанії Дзенкод в нашій команді 70+ розробників.
Спеціалізуємось на WEB-розробці та створенню ботів з адмін паналлю на Python.
Досвід роботи в розробці більше 10 років.
Розробимо для вас бота згідно вашого ТЗ.
Ми використовуємо дві стратегії організації роботи над проектами – Аутсорс та Аутстафф.
Наш рейт: від 18 EUR/година.
Можемо працювати з безпечної угоди на біржі.
…
Ми можемо обговорити подробиці вашого проекту в чаті?
З повагою, менеджер dZENcode.
-
1711 8 0 Добрий день. Готовий виконати.
Маю багато успішних кейсів, про які зможу детальніше розказати в особистих.
Допоможу з тз. Реалізую весь необхідний функціонал. Інтегрую будь який сервіс. Зроблю зручний інтерфейс та адмін панель. Реалізую логіку для нагадувань. Оптимізую.
Чекатиму вас в особистих
-
8778 60 0 1 Добрий день. Готовий виконати.
Маю великий досвід розробки телеграм ботів та WebApp.
Пишу на Python, займаю 2-е місце на платформі.
Розроблю бота з супутнім WebApp. Користувачі матимуть змогу подавати заявки з додатковими параметрами, здійснювати реєстарцію та отримувати відповіді від адміна.
Реалізую весь необхідний функціонал. Підключу потрібні інтеграції API.
Налаштую збереження даних у .json файлах, та автоматичне оновлення даних у Google Sheets.
Виконаю деплой. Проведу тестування, при потребі надам документацію.
… Моє портфоліо:Freelancehunt
Пишіть, обговоримо деталі і я приступлю до роботи.
-
363 9 0 Доброго дня, налаштую інтеграцію та роботу бота з сервісом GoogleSheets, працював з гугл та телеграм апі, напишіть в особисті, узгодимо деталі та почнемо співпрацю
-
9972 117 0 Вітаю!
Розробляю ботів для телеграму на NodeJS. Готовий взятися. Пишіть, обговоримо.
-
1872 9 0 Привіт!
Мене зацікавив ваш проект по розробці Telegram-бота на aiogram з інтеграцією WebApp на AngularJS. У мене є відповідний досвід у створенні подібних рішень, і я готовий виконати завдання в повному обсязі з урахуванням усіх ваших вимог.
Як планую реалізувати проект
- Розробка Telegram-бота:
- Налаштування реєстрації з валідацією даних.
- Реалізація подачі заявок та їх відправка в Google Sheets.
- Створення адміністративного модуля з управлінням користувачами та заявками.
- Фонова перевірка змін та автоматичне сповіщення користувачів.
… WebApp (AngularJS):
- Розробка багатоступеневої форми з попереднім заповненням даних.
- Інтеграція з локальними JSON-файлами та API.
- Зв'язок з Telegram WebApp API для відправки даних боту.
Інтеграція з Google Sheets:
- Авторизація через Service Account.
- Автоматичне оновлення даних та форматування таблиць.
Готовий обговорити деталі та приступити до роботи в найкоротші терміни. Чекаю на вашу відповідь!
-
129 Доброго дня, в мене є великий досвід з створення подібних ботів якщо вас влаштовує ціна і час можу приступати до роботи
-
95862 1272 1 10 Вітаю. Є великий досвід в розробці телеграм ботів. Angular обовʼязково використовувати на фронтенді чи можна React?
-
1803 31 0 Привіт. Готовий розробити
Напишіть в лс для обговорення деталей
Актуальні фриланс-проєкти в категорії Python
Шукаємо розробника для створення торгового бота/чат-ботаШукаємо розробника для створення торгового бота / чат-бота. Потрібен IT-спеціаліст, який зможе розробити бота для аналізу ринку 24/7 та надсилання торгових сигналів по золоту, індексах, Bitcoin і Forex-парах. Головна вимога - спеціаліст має розумітися в трейдингу, MetaTrader… Python, Розробка ботів ∙ 1 година 21 хвилина тому ∙ 17 ставок |
≈5 мікросервісів на FastAPI + правки та рефакторинг
15 719 UAH
Є проект, що складається приблизно з ~11 мікросервісів на FastAPI з інтеграціями, який більш ніж на половину готовий. Завдання - доробити решту ~5 мікросервісів (конкретніше - subscription/billing та інтеграція з Revenuecat, захист від зловживань для білінгу, Notifications,… Python, Веб-програмування ∙ 6 годин 41 хвилина тому ∙ 26 ставок |
Power BI
700 UAH
Дашборд працює на гугл сервері, потрібно перенести всю логіку+код Які потрібні скіли: розгортання etl процесів на linux сервері + робота із BigQuery та Postgre Є робочий код, який працює на google, де є сама БД, потрібно перенести на інший сервер, можливо переписати код. Python, Бази даних та SQL ∙ 1 день 12 годин тому ∙ 15 ставок |
Telegram bot для найму/пошуку працівників. Для пошуку роботи
1100 UAH
1. Загальна концепція Створення Telegram-бота для автоматизації підбору персоналу та двостороннього пошуку роботи. Система працює за принципом активного відгуку та взаємного підтвердження інтересу (Double Opt-In). У системі передбачено дві ролі: Роботодавець (Власник фірми) та… Python, Розробка ботів ∙ 2 дні 20 годин тому ∙ 93 ставки |
Технічна підтримка веб-платформи (Python/Django)Є працюючий веб-проект, потрібно підтримувати і поступово приводити в порядок, без переписування з нуля. Стек проекту: Backend: Python, Django, Django Rest Framework Frontend: Next.js База даних: PostgreSQL Інфраструктура: AWS (EC2), Nginx Є інтеграції з зовнішніми API… Python, Веб-програмування ∙ 2 дні 22 години тому ∙ 73 ставки |