Skip to content
This repository has been archived by the owner on Jun 21, 2021. It is now read-only.

Implement Base Commands #3

Open
repnop opened this issue Mar 19, 2017 · 3 comments
Open

Implement Base Commands #3

repnop opened this issue Mar 19, 2017 · 3 comments

Comments

@repnop
Copy link
Contributor

repnop commented Mar 19, 2017

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 separate summary field for short command descriptions, and desc 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!

@ghost
Copy link

ghost commented Jun 11, 2017

  1. 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.
  2. What about store method? Plain file? Database (and which one)?

@ghost
Copy link

ghost commented Jun 11, 2017

And maybe it's better to rename this command into remind?

@ghost
Copy link

ghost commented Jun 11, 2017

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.

@ghost ghost mentioned this issue Jun 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant