eibex / reaction-light

Easy to use self-hosted reaction role Discord bot written in Python.
MIT License
126 stars 66 forks source link

Refactor bot.py (add cogs, cleaner code) #13

Closed eibex closed 2 years ago

eibex commented 4 years ago

Even though the bot works flawlessly in its current state (except for the currently open enhancement-related issues), the code could use a lot of improvements.

Refactoring with better functions, classes, cogs, and general usage of discord.py is ideal.

We could also consider using SQLite instead of CSV files. Though this will add an extra dependency to the bot (and a complete remake of the bot's file manager (rlightfm)).

EDIT: Additionally, another hurdle of adopting SQLite is creating a script to transfer the data of CSV files in currently existing installations to the database so to minimise downtime to a simple bot restart.

EDIT: Striked parts done in #20

arbaes commented 4 years ago

Maybe I can give you a hand on this one, but I don't want to trespass too much on your code ^^'. Feel free to ask !

eibex commented 4 years ago

@arbaes I would be glad! I’m aware my coding skills aren’t amazing and I’m just learning as I try to implement new features.

I’ve been trying to study discord.py cogs etc. in my spare time, but I’m not comfortable with them enough to refactor the whole bot yet.

Any help is more than appreciated! I wouldn’t mind setting up a more direct communication channel (eg a discord server) to coordinate refactoring, if you prefer (else GitHub is more than fine).

Let me know how you’d like to approach this and thanks a lot for offering a helping hand already :)

faluhub commented 3 years ago

currently working on moving most of the code to cogs

eibex commented 3 years ago

Hey @kyelmao, thanks for working on refactoring the code into cogs. It's really appreciated!

I just wanted to make sure you still want to go ahead with this as I'm currently holding out on pushing i18n implementation (#74) to avoid merge conflicts on your end.

faluhub commented 3 years ago

Hey @kyelmao, thanks for working on refactoring the code into cogs. It's really appreciated!

I just wanted to make sure you still want to go ahead with this as I'm currently holding out on pushing i18n implementation (#74) to avoid merge conflicts on your end.

its fine, i guess i stopped working on it anyway 😂

eibex commented 3 years ago

Redundant with #83

eibex commented 2 years ago

Since a full rewrite will not be done, this is still very relevant