Opracowanie bota Telegram z WebApp do składania i przetwarzania wniosków
Stworzyć bota Telegram (na podstawie biblioteki aiogram) oraz towarzyszący WebApp (na AngularJS), który umożliwi użytkownikom składanie wniosków z dodatkowymi parametrami, rejestrację oraz otrzymywanie odpowiedzi od administratora. System ma przechowywać dane w lokalnych plikach JSON, a także aktualizować dane w Google Sheets (2 tabele) z zastosowaniem formatowania komórek.
---
1. Ogólny opis projektu
1.1 Funkcjonalność bota
- Rejestracja użytkowników:
- Wprowadzenie imienia i nazwiska oraz numeru telefonu (możliwość podzielenia się kontaktem)
- Podgląd danych, edytowanie i potwierdzenie
- Zapis danych w pliku `users.json` z statusami: pending, approved, blocked
- Moduł składania wniosków:
- Użytkownik może złożyć wniosek przez WebApp
- Zapis danych wniosku w pliku `applications_by_user.json`
- Zapis danych w Google Sheet (tabela1) z aktualizacją numeru wniosku, daty, imienia i nazwiska, FГ, ЄДРПОУ, grupy, kultury, ilości, lokalizacji, dodatkowych parametrów, formy płatności, waluty, ceny, numeru telefonu, user_id
- Aktualizacja danych w tabeli2 (wyświetlanie ceny z możliwością usunięcia komórki z przesunięciem wierszy i resetowaniem formatowania)
- Moduł administracyjny:
- Wejście przez komendę /admin dla użytkowników z uprawnieniami administratora
- Menu do przeglądania wniosków (pending, approved, deleted)
- Możliwość zatwierdzania (approve) lub blokowania (block) użytkowników
- Edytowanie danych zatwierdzonych użytkowników (imię i nazwisko, numer telefonu)
- Przegląd szczegółowych informacji o wnioskach, ich potwierdzanie, odrzucanie, usuwanie (zarówno soft, jak i całkowite usunięcie z pliku oraz Google Sheets)
- Funkcja eksportu bazy danych użytkowników do Google Sheets z formatowaniem (wyrównanie, pogrubienie, automatyczne ustawienie szerokości kolumn)
- Proces w tle (polling):
- Okresowe sprawdzanie Google Sheets na zmianę wartości ceny menedżerskiej
- Wysyłanie powiadomień do użytkowników przy aktualizacji oferty, a także zmiana statusów wniosku (active, waiting, Agreed, confirmed, deleted, rejected)
- Integracja z Google Sheets:
- Autoryzacja przez Service Account z użyciem `oauth2client` oraz biblioteki `gspread`
- Funkcje do odczytu, aktualizacji, usuwania wierszy oraz formatowania komórek (z zastosowaniem `gspread-formatting`)
1.2 Funkcjonalność WebApp
- Interfejs formularza:
- Podział na kilka kroków:
1. Podstawowe dane: Wprowadzenie nazwy FГ (nieobowiązkowo), kodu ЄДРПОУ (8 lub 10 cyfr, nieobowiązkowo), lokalizacji (województwo, powiat, miasto) – integracja z AngularJS do pracy z danymi lokalizacji (przez rozwijane listy, które są ładowane z lokalnego pliku JSON lub API)
2. Szczegóły wniosku: Wybór grupy, kultury, dodatkowe parametry (w zależności od wybranej kultury – różne pola dla pszenicy, jęczmienia, kukurydzy, słonecznika, rzepaku, soi itp.), wprowadzenie ilości
3. Cena: Wprowadzenie pożądanej ceny (nieobowiązkowo), wybór waluty oraz formy płatności (dynamiczna aktualizacja formy płatności w zależności od waluty)
- Prefill parametrów:
- Odczytanie parametru `data` z URL do wstępnego wypełnienia formularza
- Ustawienie danych w polach formularza
- Interakcja z API Telegram WebApp:
- Użycie biblioteki Telegram WebApp JS (z funkcjami sendData, close, ready)
- Wysyłanie danych JSON wniosku do serwera bota przez fetch POST request
---
2. Wymagania techniczne
2.1 Stos technologii
- Backend (bot Telegram):
- Język: Python 3.7+
- Framework: aiogram
- Biblioteki: asyncio, logging, json, aiohttp, gspread, oauth2client, gspread-formatting, zoneinfo
- Przechowywanie danych: lokalne pliki JSON (users.json, applications_by_user.json, config.py)
- Integracja z Google Sheets przez API
- WebApp:
- Język: HTML, CSS, JavaScript
- Framework: AngularJS (1.x)
- Integracja z API Telegram WebApp
2.2 Architektura
- Bot Telegram:
- Praca w schemacie FSM (Finite State Machine) do zarządzania dialogami
- Asynchroniczne przetwarzanie wiadomości oraz zadań w tle (poll_manager_proposals, serwer HTTP)
- Podział praw użytkowników: pending, approved, blocked
- Menu administracyjne do moderacji użytkowników oraz wniosków
- WebApp:
- Podział na strony (kroki) z możliwością przejść „Wstecz/Dalej”
- Dynamiczne ładowanie danych dla rozwijanych list
- Walidacja wprowadzonych danych (formaty, minimalne wymagania)
- Wysyłanie danych przez API Telegram WebApp oraz fetch request na serwer HTTP
2.3 Bezpieczeństwo
- Ochrona danych użytkowników przy przechowywaniu w plikach JSON
- Sprawdzanie dostępu do komend administracyjnych (ADMINS, uzyskanych z zmiennych środowiskowych)
- Walidacja wprowadzonych danych (numer telefonu, kody ЄДРПОУ, formaty numeryczne)
2.4 Hosting i wdrożenie
- Bot uruchamiany jako osobny proces (np. przez systemd lub Docker)
- WebApp może być umieszczony na osobnym serwerze (lub na tym samym serwerze co bot)
- Serwer HTTP (aiohttp) do przyjmowania POST‑zapytania od WebApp
---
3. Funkcjonalne bloki i wymagania
3.1 Funkcjonalność bota Telegrama
- Inicjalizacja i konfiguracja:
- Odczyt zmiennych środowiskowych: TELEGRAM_TOKEN, ADMINS, GOOGLE_SPREADSHEET_ID, GOOGLE_SPREADSHEET_ID2, API_PORT, DATA_DIR itp.
- Ładowanie poświadczeń dla Google API z zmiennej środowiskowej (GSPREAD_CREDENTIALS_JSON)
- Praca z plikami:
- Tworzenie plików users.json, applications_by_user.json, config.py, jeśli nie istnieją
- Funkcje do odczytu i zapisu danych (load_users, save_users, load_applications, save_applications)
- Rejestracja i moderacja użytkowników:
- Obsługa /start – sprawdzenie statusu użytkownika (approved, pending, blocked)
- Zbieranie danych do rejestracji (imię i nazwisko, numer telefonu) z podglądem i edytowaniem
- Administracyjne zatwierdzanie lub blokowanie przez specjalny interfejs
- Składanie i przetwarzanie wniosków:
- Odbieranie danych z WebApp (przez wiadomość tekstową z JSON lub content‑type WEB_APP_DATA)
- Funkcje do zapisu wniosku w pliku oraz Google Sheets (update_google_sheet, add_application)
- Możliwość przeglądania wniosków, ich edytowania, usuwania (soft i całkowite)
- Interfejs administracyjny:
- Menu do moderacji, przeglądania zatwierdzonych/usuniętych wniosków
- Szczegółowy podgląd wniosku oraz możliwość zmiany statusów
- Funkcje do edytowania danych zatwierdzonych użytkowników
- Proces w tle:
- Okresowe sprawdzanie Google Sheets w celu aktualizacji wartości ceny menedżerskiej
- Wysyłanie powiadomień do użytkowników przy zmianie oferty
- Zarządzanie zatrzymywaniem/wznawianiem pollingu (POLLING_PAUSED)
- Serwer HTTP:
- Przyjmowanie POST‑zapytania z WebApp dla podglądu danych (endpoint: /api/webapp_data)
3.2 Funkcjonalność WebApp
- Interfejs formularza z kilkoma krokami:
- Strona 1: Podstawowe dane (FГ, ЄДРПОУ, lokalizacja przez rozwijane listy AngularJS)
- Strona 2: Szczegóły wniosku (grupa, kultura, dodatkowe parametry w zależności od kultury, ilość)
- Strona 3: Cena, waluta, forma płatności
- Wstępne wypełnienie:
- Odczyt danych z parametru URL (data) oraz ustawienie wartości w odpowiednich polach
- Walidacja danych:
- Sprawdzanie formatu ЄДРПОУ (8 lub 10 cyfr)
- Sprawdzanie formatów numerycznych dla dodatkowych parametrów (format XX.X)
- Interakcja z API Telegram WebApp:
- Inicjalizacja WebApp, wysyłanie wypełnionych danych przez sendData
- Wysyłanie POST‑zapytania na serwer (endpoint /api/webapp_data) w celu sprawdzenia otrzymanych danych
- Zamknięcie WebApp po pomyślnym wysłaniu
---
4. Integracja z Google Sheets
- Wykorzystanie Google API z użyciem Service Account
- Uzyskanie dostępu do dwóch tabel (GOOGLE_SPREADSHEET_ID oraz GOOGLE_SPREADSHEET_ID2)
- Funkcje:
- update_google_sheet: zapis danych wniosku, obliczenie nowego numeru, zapis daty, imienia i nazwiska, danych wniosku
- export_database: eksport bazy zatwierdzonych użytkowników do nowego arkusza z zastosowaniem formatowania
- delete_price_cell_in_table2: usunięcie komórki z ceną z przesunięciem wierszy oraz oczyszczeniem formatowania
Proszę w ofertach podawać realną minimalną cenę za tego bota, bez zaniżeń, aby od razu wiedzieć, na co można liczyć
-
Witam Państwa!
Jestem menedżerem projektu w firmie Dzenkod, w naszym zespole jest 70+ programistów.
Specjalizujemy się w WEB-rozwoju oraz tworzeniu botów z panelem administracyjnym w Pythonie.
Mamy ponad 10-letnie doświadczenie w rozwoju.
Opracujemy dla Państwa bota zgodnie z Państwa wymaganiami.
Używamy dwóch strategii organizacji pracy nad projektami – Outsourcing i Outstaffing.
Nasza stawka: od 18 EUR/godzinę.
Możemy pracować na bezpiecznej umowie na giełdzie.
…
Czy możemy omówić szczegóły Państwa projektu na czacie?
Z poważaniem, menedżer dZENcode.
-
1711 8 0 Dzień dobry. Gotowy do wykonania.
Mam wiele udanych przypadków, o których mogę opowiedzieć szczegółowo w wiadomościach prywatnych.
Pomogę z tzw. Zrealizuję cały niezbędny funkcjonalność. Zintegruję dowolną usługę. Stworzę wygodny interfejs i panel administracyjny. Zrealizuję logikę dla przypomnień. Optymalizuję.
Będę czekać na Ciebie w wiadomościach prywatnych.
-
8793 60 0 1 Dzień dobry. Gotowy do wykonania.
Mam duże doświadczenie w tworzeniu botów telegramowych i WebApp.
Piszę w Pythonie, zajmuję 2. miejsce na platformie.
Opracuję bota z towarzyszącym WebApp. Użytkownicy będą mieli możliwość składania wniosków z dodatkowymi parametrami, rejestrowania się i otrzymywania odpowiedzi od administratora.
Zrealizuję cały niezbędny funkcjonalność. Podłączę potrzebne integracje API.
Skonfiguruję przechowywanie danych w plikach .json oraz automatyczne aktualizowanie danych w Google Sheets.
Wykonam wdrożenie. Przeprowadzę testy, w razie potrzeby dostarczę dokumentację.
… Moje portfolio:Freelancehunt
Piszcie, omówimy szczegóły i przystąpię do pracy.
-
363 9 0 Dzień dobry, skonfiguruję integrację i działanie bota z usługą GoogleSheets, pracowałem z API Google i Telegram, napisz do mnie prywatnie, uzgodnimy szczegóły i rozpoczniemy współpracę
-
10038 117 0 Cześć!
Opracowuję boty do Telegramu w NodeJS. Jestem gotów się tym zająć. Piszcie, omówimy.
-
1872 9 0 Cześć!
Zainteresował mnie Twój projekt dotyczący opracowania bota Telegram na aiogram z integracją WebApp na AngularJS. Mam odpowiednie doświadczenie w tworzeniu podobnych rozwiązań i jestem gotów wykonać zadanie w pełnym zakresie, uwzględniając wszystkie Twoje wymagania.
Jak planuję zrealizować projekt
- Opracowanie bota Telegram:
- Ustawienie rejestracji z walidacją danych.
- Realizacja składania wniosków i ich wysyłka do Google Sheets.
- Stworzenie modułu administracyjnego z zarządzaniem użytkownikami i wnioskami.
- Tło sprawdzania zmian i automatyczne powiadamianie użytkowników.
… WebApp (AngularJS):
- Opracowanie wieloetapowego formularza z wstępnym wypełnieniem danych.
- Integracja z lokalnymi plikami JSON i API.
- Połączenie z Telegram WebApp API w celu wysyłania danych do bota.
Integracja z Google Sheets:
- Autoryzacja przez Service Account.
- Automatyczne aktualizowanie danych i formatowanie tabel.
Jestem gotów omówić szczegóły i przystąpić do pracy w najkrótszym możliwym czasie. Czekam na Twoją odpowiedź!
-
129 Dzień dobry, mam duże doświadczenie w tworzeniu podobnych botów, jeśli odpowiada Państwu cena i czas, mogę przystąpić do pracy
-
95644 1272 1 10 Witaj. Mam duże doświadczenie w tworzeniu botów na Telegramie. Czy Angular musi być używany na froncie, czy można użyć Reacta?
-
1803 31 0 Cześć. Jestem gotów do opracowania
Napisz na priv, aby omówić szczegóły
Aktualne zlecenia dla freelancerów w kategorii Python
Bot Telegram do zatrudniania/poszukiwania pracowników. Do szukania pracy
90 PLN
1. Ogólna koncepcja Stworzenie bota Telegram do automatyzacji rekrutacji i dwustronnego poszukiwania pracy. System działa na zasadzie aktywnej reakcji i wzajemnego potwierdzenia zainteresowania (Double Opt-In). W systemie przewidziano dwie role: Pracodawca (Właściciel firmy)… Python, Tworzenie chatbota ∙ 21 godzin 30 minut temu ∙ 78 ofert |
Wsparcie techniczne platformy internetowej (Python/Django)Jest działający projekt internetowy, trzeba go utrzymywać i stopniowo porządkować, bez przepisywania od zera. Stos technologiczny projektu: Backend: Python, Django, Django Rest Framework Frontend: Next.js Baza danych: PostgreSQL Infrastruktura: AWS (EC2), Nginx Istnieją… Python, Programowanie stron internetowych ∙ 23 godziny 39 minut temu ∙ 66 ofert |
Opracowanie usługi internetowej z płatnym dostępem do czatu onlineDzień dobry, konieczne jest opracowanie usługi internetowej, która obejmuje:* osobiste linki dla użytkowników;* stronę z opisem usługi;* płatność przez PayPal;* czat online w czasie rzeczywistym;* wyświetlanie wideo na stronie użytkownika;* rejestrację opłaconego czasu i… Python, Programowanie stron internetowych ∙ 2 dni temu ∙ 74 oferty |
Tworzenie aplikacjiChcę stworzyć aplikację mobilną do komunikacji, w aplikacji ma być audio, wideo rozmowa, tworzenie grupowych czatów, możliwość synchronizacji z kontaktami telefonu, ustawieniami konta: powiązanie przez e-mail, 2fa, numer telefonu, możliwość dostosowywania powiadomień aplikacji,… Java, Python ∙ 2 dni 22 godziny temu ∙ 36 ofert |
Ustawienie dwustronnej integracji WhatsApp z Odoo CRMWitaj! Szukamy specjalisty do realizacji zadania technicznego dotyczącego konfiguracji dwustronnej integracji komunikatora WhatsApp z systemem CRM Odoo. ⚠️ Ważne wyjaśnienie techniczne: Oficjalne API WhatsApp Business (WABA) nie jest brane pod uwagę. Należy wdrożyć stabilne… Python, Programowanie stron internetowych ∙ 3 dni 8 godzin temu ∙ 24 oferty |