Potrzebuję opracować bota Telegram dla mojej firmy / moich usług.
Cel bota:
aby ludzie mogli sami pisać do bota, mogłem otrzymywać ich wiadomości, odpowiadać im, przechowywać kontakty w bazie, a następnie robić wysyłki przypomnień i wiadomości o moich usługach do tych użytkowników, którzy już rozpoczęli dialog z botem.
Podstawowa funkcjonalność
1. Odbieranie wiadomości przychodzących
Użytkownik wchodzi do bota i naciska Start.
Po tym może napisać wiadomość.
Wszystkie wiadomości użytkownika muszą być przechowywane.
Bot ma rejestrować nowego użytkownika w bazie.
2. Przechowywanie kontaktów
Muszą być przechowywane:
ID użytkownika Telegram
nazwa użytkownika
imię / first name
nazwisko, jeśli jest
data pierwszego kontaktu
data ostatniej aktywności
tekst pierwszego kontaktu
status subskrypcji na wysyłkę
status wypisania
tagi / notatki dotyczące klienta
historia korespondencji
3. Przekazywanie zapytań do admina
Kiedy użytkownik pisze do bota, muszę otrzymywać tę wiadomość w czacie admina / do admina w Telegramie.
Muszę widzieć, kto dokładnie napisał.
Preferowane, aby można było szybko odpowiedzieć użytkownikowi przez bota.
4. Odpowiedzi dla użytkowników
Potrzebna jest możliwość:
odpowiadania konkretnemu użytkownikowi przez komendy admina lub tryb admina w bocie
widzenia, do kogo dokładnie wysyłana jest odpowiedź
przechowywania wysłanych wiadomości w historii
5. Subskrypcja na wysyłkę
Przy pierwszym kontakcie lub po naciśnięciu Start bot powinien zaproponować użytkownikowi wyrażenie zgody na otrzymywanie:
przypomnień
przydatnych wiadomości
informacji o moich usługach
Potrzebne przyciski:
“Tak, można”
“Nie”
“Wypisać się”
W bazie musi być przechowywany status:
subskrybowany
wypisany
niepotwierdzony
6. Masowa wysyłka
Muszę zrealizować funkcjonalność wysyłania wiadomości:
do wszystkich subskrybowanych użytkowników
tylko do wybranych tagów / segmentów
tylko do tych, którzy się nie wypisali
z przerwami między wiadomościami, aby uniknąć przekroczenia limitów
Preferowane:
wspieranie tekstu
wspieranie zdjęć + tekstu
przycisk w wiadomości typu “Napisz” / “Zamów” / “Dowiedz się więcej”
7. Segmentacja
Muszę mieć możliwość przypisywania tagów użytkownikom, na przykład:
nowy
ciepły lead
konsultacja
interesował się zimą
klient
klient powracający
I robić wysyłki do wybranych tagów.
8. Przycisk wypisania
W każdej wysyłce lub w menu bota musi być możliwość wypisania się.
Po wypisaniu użytkownik nie powinien trafiać do następnych wysyłek.
Funkcje admina
Potrzebny jest wygodny sposób administrowania.
Możliwe opcje:
albo przez samego bota Telegram w trybie admina
albo przez prostą stronę admina
Minimalnie potrzebne:
lista użytkowników
wyszukiwanie po nazwie użytkownika / ID / imieniu
przeglądanie karty użytkownika
przeglądanie historii korespondencji
dodawanie / usuwanie tagów
ręczna odpowiedź użytkownikowi
uruchamianie wysyłki
statystyki dotyczące liczby użytkowników:
wszystkich
subskrybowanych
wypisanych
Wymagania techniczne
Preferowane zrealizowanie na:
Python (aiogram)
lub zaproponowanie swojego stosu, jeśli jest lepszy do zadania.
Baza danych:
na początku można SQLite, jeśli to wystarczy
lub PostgreSQL, jeśli od razu lepiej zrobić to dobrze pod skalowanie
Preferowane:
czysta struktura kodu
możliwość dalszego rozwoju
instrukcja uruchomienia
pomoc w wdrożeniu na serwer
.env dla tokenów i ustawień
logowanie błędów
Ważne warunki
Bot musi działać tylko z tymi użytkownikami, którzy sami rozpoczęli dialog z botem.
Muszę przewidzieć bezpieczną logikę wysyłek: tylko do subskrybowanych użytkowników.
Nie są potrzebne “szare” lub ryzykowne schematy masowych wysyłek spamowych.
Rozwiązanie musi być stabilne i nadające się do rzeczywistego użytku.
Wynik pracy
Na wyjściu chcę otrzymać:
gotowego bota Telegram
podłączoną bazę danych
funkcjonalność admina
funkcję odpowiedzi dla użytkowników
funkcję wysyłki do subskrybowanych
instrukcję użytkowania
instrukcję uruchomienia / przeniesienia na serwer