void EnableCommand(string id);
void DisableCommand(string id);
void CommandSetGlobalCooldownDuration(string id, int seconds);
void CommandSetUserCooldownDuration(string id, int seconds);
void CommandAddToGlobalCooldown(string id, int seconds);
void CommandAddToUserCooldown(string id, string userId, int seconds);
void CommandAddToAllUserCooldowns(string id, int seconds);
This makes it so if there is a cooldown of e.g. 60 seconds and when running this while it's e.g 30s in it will reset the cooldown back to 60s to wait for another trigger of the command. A common misunderstanding is that this will set the cooldown to 0, but it will not.
void CommandResetGlobalCooldown(string id);
void CommandResetUserCooldown(string id, string userId);
void CommandResetAllUserCooldowns(string id);
This will remove any cooldowns on the command, effectively making the command useable again.
void CommandRemoveGlobalCooldown(string id);
void CommandRemoveUserCooldown(string id, string userId);
void CommandRemoveAllUserCooldowns(string id);