Skip to content

Latest commit

 

History

History
43 lines (38 loc) · 2.07 KB

TODO.md

File metadata and controls

43 lines (38 loc) · 2.07 KB

More features:

  • Add waiting-list for activities.

  • Mark past WF events with "(ended) " prefix.

  • Handle diesel in async using blocking() handoff

  • HANDLE ERRORS

  • match guardian- and telegram-names case-insensitive (use filter(.ilike(match))) @done (19-05-21 22:09)

    • GUARDIAN_ID could be int, telegram name or psn name
  • implement support for sub-commands

    • commands may register sub-commands using the same matcher interface
  • Track weekly raids cycle automatically,

    • disallow creating weekly raids when they're inactive
    • suggest next closest week when it's active
  • Inline buttons to join or leave raid

  • Interactive calendar + clock picker to plan raids

    • this may require full actor framework already to track states properly
      • actor per user creating raid?
  • Rewrite with actors, self-healing and other nice-to-have things.

    • actix / riker could be used for structuring the bot as independent entities
    1. supervisor to restart failing telegram connection
      • see telegram-event-bot for structure idea
      • telecord uses a simplistic approach
    2. actix-diesel thingie to run blocking diesel in a separate actor
    3. futures-cpupool as a very primitive wrapper
    4. tokio threadpool blocking tasks
    5. bb8 as diesel pool
      • could this help?
    6. Marat promised actix-telegram crate on 2018-09-12 in @rustlang_ru chat: https://github.com/jeizsm/actix-telegram/blob/autogenerated_types/examples/polling.rs ✔ it's now available @done (18-09-22 19:41)
  • Honor TELEGRAM_BOT_TIMEZONE envvar, instead of hardcoded Europe/Moscow.

Remember to use async fn!!

Send function: