RustBot-old
RustBot-old copied to clipboard
Implement Base Commands
Tracking issue for the following command implementations:
-
[help] Currently, only the base
?help
command is fully supported.?help [command]
still needs to be implemented for all commands. The next release of Serenity should have a separatesummary
field for short command descriptions, anddesc
will be for longer, more thorough descriptions. Long descriptions probably should be loaded dynamically from a file using JSON or TOML formats, preferably. -
[info] Needs full implementation, shouldn't be too terrible.
-
[permissions] Same as info, just needs to display permissions of a user, not difficult.
-
[timer] The
timer
command will probably be a bit more involved to complete and will most likely use sharding to send the message, afaik. -
[uptime]✅ ~~Should just need a thread-safe representation of time on start-up that can be accessed to calculate the current uptime of the bot. Current function just returns 1, used as a test command.~~ Completed!
- Do we really need sharding for
timer
command? Our bot (At least our instance) is unlikely to be used in many guilds. It's most likely will be used only in our guild. - What about store method? Plain file? Database (and which one)?
And maybe it's better to rename this command into remind
?
You don't need sharding for a reminder command, you can just run a separate thread in the background which manages reminders.
Sharding is for offloading a roughly equal amount of servers into e.g. separate clients, processes, or servers. If your bot is on 1500 guilds, you could utilize sharding and have 2 shards to place about 750 guilds per shard. This will help with load depending on how you're handling it.
You could make use of Diesel, something as simple as sqlite is all you really need.