Remora/Remora.Discord

Command Rate Limiter

Hamsterland opened this issue · 4 comments

Description
A command rate limiter or cooldown mechanic would surely be a welcome mechanic.

Example:

> !daily
> You must wait <time> until you can use this command again

Why This is Needed
It is a useful extension that other popular libraries have.

Alternatives Considered
Users could simply store the last invocation of a command themselves, but implementations of this could vary wildly. I think it would be better to create a robust package for all users to use.

Additional Details
I am unsure whether it should be an extension in Remora.Discord.Extensions or be a fundamental addition to Remora.Discord or Remora.Discord.Commands.

I'd be happy to take up this issue if it is the former.

Considering cooldowns is primarily a social-based concept, I think it's better to put it in the former.

@Nihlus Is this something I can proceed with?

So this is not something I'd see us adding to the main library - feel free to make your own!

I've sort of started on this previously? Most of the groundwork is in my bot repo