I’ve been programming in Roblox Lua for around 2-3 years now. Depending on how you structure your module script, yes you will be able to use it (somewhat) the same. The reason I say somewhat the same is because my commands module uses metatables at the end before returning the table so that the logger is able to print the command name easier. Just think of a module script as a table that is independent of your original script. However, using the require() function you are able to use it in any script that can access it. You can find out more about module scripts here.
As a side note, because module scripts return a table you are able able to structure the table like you would an ordinary one. Just as any table, you can arrange it into an array, a dictionary, or mixed version of both. However, most of the time it is more beneficial to structure your table in the form of a dictionary. Also, if you want to know more about metatables you can learn it about it from these resources:
All you need to know about Metatables and Metamethods
Metatables, Metamethods, ModuleScripts and OOP
Metatables can be incredibly hard to wrap your mind around at first but once you get the concept it becomes remarkably easy. Also, part of the code I used to parse through the messages the player chatted used String Patterns. You should learn all the string functions you can because they can be really useful. At the moment however I recommend that you just use the model I provided because it’s really easy to create commands for without having to worry about anything else. You’ll need to learn more vanilla Lua API functions and Roblox Lua API in order to create a complex admin system.