At some point the following should probably be done:
[ ] A bunch of constants are defined in main.py that should probably be moved to the config.
[ ] Split everything into multiple files so it is better organised. Not sure how they work but I think this is what Cogs are for, slash-command supports them.
[ ] Clean the type annotations up, some are missing, some wrong. It doesn't help that discord.py doesn't have them (slash-command I think does).
[ ] Unify slash command and on_message inline element handling code.
[ ] Convert unit testing experiment to something more useful.
[ ] (Considering your Pi has probably multiple cores, maybe offload some resource-intensive tasks to other python processes. They can be linked using http connections within localhost (e.g ports :123546 and :123465).)
[ ] Sub-suggestion. Since you had networking issues with tile server, perhaps add something like proxy.py, that would handle load balancing and caching when querying external resources?
[ ] The new fancy help UI with buttons could be used to create Discord's OSM editor 😄
The current code is a monolithic one-file mess.
At some point the following should probably be done:
main.py
that should probably be moved to the config.discord.py
doesn't have them (slash-command I think does).Better code comments.