toddrob99 / searcharr

Sonarr & Radarr & Readarr Telegram Bot
MIT License
244 stars 62 forks source link

Extensible commands and abstraction of utility functions #91

Open jordanella opened 5 months ago

jordanella commented 5 months ago

Abstracted commands outside of the Searcharr class into their own unique modules and implemented dynamic loading and registration of command modules through a command class to allow for easier future extensibility. The validation of authentication and enabled settings at the beginning of respective action requests has been made into a list for each module.

Moved _load_language, _xlate, and _strip_entities functions to a util module. The logger was also moved to util. Translation and logging functions were relocated to eliminate any requirement of dependency injection of the Searcharr class for their use in commands or other modules. The xlate_aliases function was created to minimize code reuse of command populated messages.

The KeyboardInlineButton definitions were moved to a new buttons module to improve readability of _prepare_reponse and _prepare_user_response functions.

kevindelaney commented 5 months ago

This is awesome and opens a lot of doors for easier expansion in the future. Great stuff.