@overactor So I was thinking, I believe it's a better idea if we pass a Chatbot instance to the MetaModules instead of using a Settings class because I had in mind that Chatbot would also have some helper methods, like ban and unban.
lol, I say something and suddenly @ArtOfCode appears :D
Or we can just store a list of file names in the MetaModuleTemplate.py file and then read those in Chatbot.py and call load_modules with the file names while passing self as argument to set the bot instance.
Why would it be necessary to store a dictionary of commands there? We can get the command list from the (Meta)Modules and we also can execute the commands there.
@ArtOfCode Having two different users with different capitalization is very rare too, and it happens a lot that people get my capitalization wrong so case-insensitivity looks like a good idea.
@overactor I don't think so. The ModuleManifest is, contrarily to the Config, always reused when someone clones the bot. Making it a template only would be more pain for the people who just want to run a local clone.