Czat bot - Inteligentny przypominacz dla menedżerów
Produkcjonny bot Telegram do codziennego zarządzania zadaniami. Właściciel przesyła treść (tekst, zdjęcie, dokument, wideo), przypisuje wykonawcę, a bot zamienia wiadomość w zadanie z powtarzającymi się przypomnieniami. Wykonawca zamyka zadanie jednym przyciskiem, właściciel otrzymuje powiadomienie.
Po co
— Szybkie przydzielanie zadań bez zbędnych czatów i ręcznych „pingów”.
— Nic nie ginie: bot przypomina, dopóki zadanie nie zostanie zamknięte.
— Jednolity standard dla regularnych zadań (codzienne, cotygodniowe, comiesięczne wyzwalacze).
Możliwości
— Dyspozycja zadań: wysyłasz treść → wybierasz wykonawcę → wykonawca otrzymuje zadanie z przyciskiem „Gotowe”.
— Automatyczne przypomnienia: powtarzane co 30 minut do naciśnięcia „Gotowe”.
— Komenda /rem do osobistych przypomnień wykonawców (formaty HH:MM lub DD.MM HH:MM; bot rozumie „dzisiaj/jutro”).
— Gotowe presety harmonogramu: Pn 10:00; Sb 19:00/19:30; 1/5/15/20 i ostatni dzień miesiąca.
— Zachowanie istoty treści: obsługiwane są tekst, zdjęcia, dokumenty i wideo; zadanie przechowuje ważne streszczenie oryginalnej wiadomości.
— Powiadomienia do właściciela przy zamknięciu zadania z krótkim raportem.
— Przechowywanie zadań w SQLite; przetrwa ponowne uruchomienia, aktywne zadania i terminy są przywracane przy starcie.
— Strefa czasowa Europe/Kijów: wszystkie harmonogramy działają według lokalnego czasu.
Jak to działa
Właściciel wysyła wiadomość i wybiera wykonawcę.
Bot tworzy zadanie, wysyła je do wykonawcy i od razu ustawia przypomnienia.
Co 30 minut przychodzi przypomnienie do naciśnięcia „Gotowe”.
Wykonawcy mogą ustawiać osobiste przypomnienia przez /rem.
Regularne zadania są tworzone według presetów (dziennych/miesięcznych).
Scenariusze użytkowników
— Właściciel: wysłać treść → wybrać wykonawcę → wykonawca otrzymuje zadanie → po zakończeniu przychodzi powiadomienie.
— Wykonawca: otrzymać zadanie z przyciskiem „Gotowe” → nacisnąć → zadanie zamknięte, właściciel powiadomiony.
— Osobiste przypomnienia: „/rem Zamknąć raport 18:30” lub „/rem Rachunki 05.09 10:00”.
Komendy
— /start — pokazuje listę wykonawców i krótką instrukcję, z podpowiedziami do presetów harmonogramu.
— /rem — utworzyć osobiste przypomnienie (czas/data + opis).
Szczegóły techniczne
— Stos: Python 3.12, aiogram 3.x (FSM, filtry), APScheduler (cron/interval), SQLite.
— Stany: FSM na etapie wyboru wykonawcy przez właściciela.
— Persistencja: zadania w pliku tasks.db; przy uruchomieniu bot przywraca aktywne zadania i przypomnienia.
— Przetwarzanie treści: tekst/zdjęcie/dokument/wideo, podpisy i krótkie streszczenie dla powiadomień właściciela.
— Parsowanie czasu: formaty HH:MM i DD.MM HH:MM z walidacją.
— Strefa czasowa: Europe/Kijów.
Niezawodność i logi
— Dwa kanały logowania: bot.log i stdout.
— Stabilne przetwarzanie błędów: czyszczenie przestarzałych wiadomości, ochrona przed zablokowanymi/dezaktywowanymi czatami, poprawna dezaktywacja zadań.
— Idempotentny start: aktywne zadania są automatycznie przywracane i przypomnienia są ponownie tworzone.
Schemat danych (SQLite)
Tabela tasks: task_id (PK), chat_id, type (text|photo|document|video), file_id, text_, caption, next_reminder_delta (minutes), deadline (ISO), status, message_id, source (owner|manager_rem|...), manager_num.
Ograniczenia
— Przypomnienia powtarzają się co 30 minut i wymagają naciśnięcia „Gotowe”.
— Identyfikatory właściciela i wykonawców są wcześniej skonfigurowane (whitelist).
Plan rozwoju
— Panel administracyjny (web/bot) z listą zadań i filtrami.
— Elastyczne interwały powtórzeń (15/30/60 minut), „ciche godziny”, cele SLA.
— Szablony zadań według ról i projektów.
— Eksport i raportowanie (CSV/Google Sheets).
— Powiadomienia w kanałach/grupach przy naruszeniu SLA.
Tagi: #TelegramBot #Python #aiogram #APScheduler #SQLite #TaskManager #ReminderBot #Automation #Cron #FSM #Notifications #KyivTime #CRM #BotDlaBiznesu #Freelance #strona-portfolio
Po co
— Szybkie przydzielanie zadań bez zbędnych czatów i ręcznych „pingów”.
— Nic nie ginie: bot przypomina, dopóki zadanie nie zostanie zamknięte.
— Jednolity standard dla regularnych zadań (codzienne, cotygodniowe, comiesięczne wyzwalacze).
Możliwości
— Dyspozycja zadań: wysyłasz treść → wybierasz wykonawcę → wykonawca otrzymuje zadanie z przyciskiem „Gotowe”.
— Automatyczne przypomnienia: powtarzane co 30 minut do naciśnięcia „Gotowe”.
— Komenda /rem do osobistych przypomnień wykonawców (formaty HH:MM lub DD.MM HH:MM; bot rozumie „dzisiaj/jutro”).
— Gotowe presety harmonogramu: Pn 10:00; Sb 19:00/19:30; 1/5/15/20 i ostatni dzień miesiąca.
— Zachowanie istoty treści: obsługiwane są tekst, zdjęcia, dokumenty i wideo; zadanie przechowuje ważne streszczenie oryginalnej wiadomości.
— Powiadomienia do właściciela przy zamknięciu zadania z krótkim raportem.
— Przechowywanie zadań w SQLite; przetrwa ponowne uruchomienia, aktywne zadania i terminy są przywracane przy starcie.
— Strefa czasowa Europe/Kijów: wszystkie harmonogramy działają według lokalnego czasu.
Jak to działa
Właściciel wysyła wiadomość i wybiera wykonawcę.
Bot tworzy zadanie, wysyła je do wykonawcy i od razu ustawia przypomnienia.
Co 30 minut przychodzi przypomnienie do naciśnięcia „Gotowe”.
Wykonawcy mogą ustawiać osobiste przypomnienia przez /rem.
Regularne zadania są tworzone według presetów (dziennych/miesięcznych).
Scenariusze użytkowników
— Właściciel: wysłać treść → wybrać wykonawcę → wykonawca otrzymuje zadanie → po zakończeniu przychodzi powiadomienie.
— Wykonawca: otrzymać zadanie z przyciskiem „Gotowe” → nacisnąć → zadanie zamknięte, właściciel powiadomiony.
— Osobiste przypomnienia: „/rem Zamknąć raport 18:30” lub „/rem Rachunki 05.09 10:00”.
Komendy
— /start — pokazuje listę wykonawców i krótką instrukcję, z podpowiedziami do presetów harmonogramu.
— /rem — utworzyć osobiste przypomnienie (czas/data + opis).
Szczegóły techniczne
— Stos: Python 3.12, aiogram 3.x (FSM, filtry), APScheduler (cron/interval), SQLite.
— Stany: FSM na etapie wyboru wykonawcy przez właściciela.
— Persistencja: zadania w pliku tasks.db; przy uruchomieniu bot przywraca aktywne zadania i przypomnienia.
— Przetwarzanie treści: tekst/zdjęcie/dokument/wideo, podpisy i krótkie streszczenie dla powiadomień właściciela.
— Parsowanie czasu: formaty HH:MM i DD.MM HH:MM z walidacją.
— Strefa czasowa: Europe/Kijów.
Niezawodność i logi
— Dwa kanały logowania: bot.log i stdout.
— Stabilne przetwarzanie błędów: czyszczenie przestarzałych wiadomości, ochrona przed zablokowanymi/dezaktywowanymi czatami, poprawna dezaktywacja zadań.
— Idempotentny start: aktywne zadania są automatycznie przywracane i przypomnienia są ponownie tworzone.
Schemat danych (SQLite)
Tabela tasks: task_id (PK), chat_id, type (text|photo|document|video), file_id, text_, caption, next_reminder_delta (minutes), deadline (ISO), status, message_id, source (owner|manager_rem|...), manager_num.
Ograniczenia
— Przypomnienia powtarzają się co 30 minut i wymagają naciśnięcia „Gotowe”.
— Identyfikatory właściciela i wykonawców są wcześniej skonfigurowane (whitelist).
Plan rozwoju
— Panel administracyjny (web/bot) z listą zadań i filtrami.
— Elastyczne interwały powtórzeń (15/30/60 minut), „ciche godziny”, cele SLA.
— Szablony zadań według ról i projektów.
— Eksport i raportowanie (CSV/Google Sheets).
— Powiadomienia w kanałach/grupach przy naruszeniu SLA.
Tagi: #TelegramBot #Python #aiogram #APScheduler #SQLite #TaskManager #ReminderBot #Automation #Cron #FSM #Notifications #KyivTime #CRM #BotDlaBiznesu #Freelance #strona-portfolio