Online Waschplan via Telegram Bot
Änderungen wie in #101 (closed) beschrieben:
Neue Befehle:
- /start (das 'unified menu')
-
/status(unified) -
/problem(unified) -
/laundry_room(unified)
Aufbau von `/laundry_room`
Der Befehl /laundry_room
ist (grob) wie folgt aufgebaut:
graph TB;
A{/laundry_room}-->timetable[print the timetable];
timetable-->toggel[show wek/day];
timetable-->day_previus[show previus wek/day];
timetable-->day_reload[reload];
timetable-->day_next[show next wek/day];
A-->new[create new booking];
new-->new_device[select device]-->new_device_day[select day]-->new_device_day_time[select start time]-->new_device_day_time_len[select length]-->new_device_day_time_len_confirm[confirm choises]-->new_booking(create new booking);
new_device_day_time_len_confirm-->new_no_booking[can't create booking]-->new_device_day_time_len_confirm;
new_device-->new_device_now[boook for now]-->new_device_day_time_len_confirm;
A-->list[list my bookings];
A-->edit[edit a booking];
edit-->edit_select[select booking]-->edit_select_main[print curent booking settings];
edit_select_main-->edit_select_main_device[edit device];
edit_select_main-->edit_select_main_day[edit day];
edit_select_main-->edit_select_main_startTime[edit start time];
edit_select_main-->edit_select_main_endTime[edit end time];
edit_select_main-->edit_select_main_save[save changes?]-->edit_booking(create new booking)
edit_select_main_save-->edit_no_booking[can't edit booking]-->edit_select_main_save
A-->delete[delete a booking];
delete-->delete_select[select booking]-->delete_select_confirm[confirm deletion]-->delete_booking(delete booking)
A-->states[get machine states];
A-->problem{report a problem};
A-->settings[edit settings];
settings-->settings_toggleReminder[toggel recive reminders];
settings-->settings_toggleWarnings[toggel recive warnings];
settings-->|if telegram_admin|settings_toggleProblem[toggel recive problem reports];
settings-->|if telegram_admin|settings_toggleBug[toggel recive bug reports];
A-->|if telegram_admin|admin[admin settings];
admin-->edit_state[edit device state]-->edit_state_select[select device]-->edit_state_select_select[select state]-->edit_state_select_select_ack(change device state);
admin-->edit_delete[delete boking]-->edit_delete_select[select any booking]-->edit_delete_select_confirm[confirm deletion]-->edit_delete_select_confirm_ack(delete booking);
admin-->edit_broadcast[brodcast message]-->edit_broadcast_select[select recipiant group]-->edit_broadcast_select_confirm[recive and confirm message]-->edit_broadcast_select_confirm_ack(message is send);
admin-->edit_doas[act as user]-->edit_doas_select[select user]-->edit_doas_select_ack(you act as the user);
ToDo's:
-
Formatierung bei mehrzeiligen Funktionsaufrufen überarbeiten -
auskommentierten print's entfernen -
timezone.now()
common.telegrambot_handlers.here()
main.telegrambot_handlers.here()
benutzten -
Eigentlich immer f
-Strings benutzten -
migrations nicht formatieren -
speichern wenn man von /bookin_smart in /problems geht (für back) -
eigenen Media Filter implementieren(main.telegrambot_handlers.message_handler_common verteilt) -
Freitext Eingabe Funktion implementieren ( menu_input_plain_text()
) -
HTML Webseite für Personen ohne Telegram -
aktuellen Tages / Wochen Waschplan anzeigen -
neue Buchungen machen -
eigene Buchungen editieren -
Status der Waschmaschinen anzeigen -
Fehler der Waschmaschinen melden
-
-
/laundry_room
>edit a booking
auf Startzeit und Länge umstellen -
problem_report: Abgabe nach 30 min automatisch abbrechen (über context.job_queue ?) -
unified menu: -
fix login, logout and help -
Membership Status -
Fitness Room -
Laundry Room -
Help & Problems -
message_handler für input_plain_text -
message_handler für fitness video -
message_handler für problem reports
-
-
auskommentierten code entfernen
Bekannte Bugs:
UserWarning: Retry and timeout are misconfigured.
-
auditlog.LogEntry.additional_data
:Use django.db.models.JSONField instead.
Mögliche Verbesserungen (vorschläge?):
- cronjobs in djangoQ übertragen (?)
- menueInputTime: Eingaben direkt auf konformität prüfen
Es werden bestimmt noch Bugs auftauchen, aber fürs erste könnten wir das mal testen und Feedback sammeln.
Edited by Roman Faber