Refactoring & redesigning for stable version
This issue is intended to be a todo list of the main code refactoring and redesigning that should preferably be completed before a stable version gets released.
Each item on the list has it's own issue (which is linked), which is the main point of conversation. Conversation here on this issue should be related to the general idea of code refactor/redesign and which vital components are in need of it.
As always, open to discussion, suggestions, etc.
Refactor
- [ ] Commands management (Create a more dedicated class for the handling of custom commands)
- [x] Entities {PR #291} (DRY up the entities and implement magic methods that can handle method calls more elegantly)
Redesign
- [ ] Request & Update procedure (Decouple the request and update functionality more to make it more logical and especially testable)
- [ ] Conversations (Make the creation of conversations more streamlined and easier for the users)
- [ ] Database handlers (optional?) (More abstract database handling to allow different database types by simply implementing the various handlers, e.g. for PostgreSQL, Redis, MongoDB, etc.)
@akalongman @MBoretto @jacklul Please have a think about these and give your feedback so that we can get this show on the road 😉
Logging. We shouldn't throw TelegramExceptions when monolog instance is provided for the API.
@noplanman Can we close this https://github.com/akalongman/php-telegram-bot/issues/106 since this list include the commander class?
Absolutely, have closed it 👍