Add remaining commands

This commit is contained in:
jude
2024-02-18 14:32:58 +00:00
parent 76a286076b
commit d8f266852a
25 changed files with 655 additions and 367 deletions

View File

@ -10,6 +10,32 @@ use crate::{
#[derive(Serialize, Deserialize, Recordable)]
#[serde(tag = "command_name")]
pub enum RecordedCommand {
#[serde(rename = "unset_allowed_dm")]
UnsetAllowedDm(crate::commands::allowed_dm::unset::Options),
#[serde(rename = "set_allowed_dm")]
SetAllowedDm(crate::commands::allowed_dm::set::Options),
#[serde(rename = "unset_ephemeral_confirmations")]
UnsetEphemeralConfirmations(crate::commands::settings::ephemeral_confirmations::unset::Options),
#[serde(rename = "set_ephemeral_confirmations")]
SetEphemeralConfirmations(crate::commands::settings::ephemeral_confirmations::set::Options),
#[serde(rename = "timer_delete")]
TimerDelete(crate::commands::timer::delete::Options),
#[serde(rename = "timer_list")]
TimerList(crate::commands::timer::list::Options),
#[serde(rename = "timer_start")]
TimerStart(crate::commands::timer::start::Options),
#[serde(rename = "todo_channel_add")]
TodoChannelAdd(crate::commands::todo::channel::add::Options),
#[serde(rename = "todo_channel_view")]
TodoChannelView(crate::commands::todo::channel::view::Options),
#[serde(rename = "todo_guild_add")]
TodoGuildAdd(crate::commands::todo::guild::add::Options),
#[serde(rename = "todo_guild_view")]
TodoGuildView(crate::commands::todo::guild::view::Options),
#[serde(rename = "todo_user_add")]
TodoUserAdd(crate::commands::todo::user::add::Options),
#[serde(rename = "todo_user_view")]
TodoUserView(crate::commands::todo::user::view::Options),
#[serde(rename = "clock")]
Clock(crate::commands::clock::Options),
#[serde(rename = "dashboard")]
@ -43,6 +69,45 @@ pub enum RecordedCommand {
impl RecordedCommand {
pub fn from_context(ctx: ApplicationContext) -> Option<Self> {
match ctx.command().identifying_name.as_str() {
"unset_allowed_dm" => Some(Self::UnsetAllowedDm(
crate::commands::allowed_dm::unset::Options::extract(ctx),
)),
"set_allowed_dm" => {
Some(Self::SetAllowedDm(crate::commands::allowed_dm::set::Options::extract(ctx)))
}
"unset_ephemeral_confirmations" => Some(Self::UnsetEphemeralConfirmations(
crate::commands::settings::ephemeral_confirmations::unset::Options::extract(ctx),
)),
"set_ephemeral_confirmations" => Some(Self::SetEphemeralConfirmations(
crate::commands::settings::ephemeral_confirmations::set::Options::extract(ctx),
)),
"timer_delete" => {
Some(Self::TimerDelete(crate::commands::timer::delete::Options::extract(ctx)))
}
"timer_list" => {
Some(Self::TimerList(crate::commands::timer::list::Options::extract(ctx)))
}
"timer_start" => {
Some(Self::TimerStart(crate::commands::timer::start::Options::extract(ctx)))
}
"todo_channel_add" => Some(Self::TodoChannelAdd(
crate::commands::todo::channel::add::Options::extract(ctx),
)),
"todo_channel_view" => Some(Self::TodoChannelView(
crate::commands::todo::channel::view::Options::extract(ctx),
)),
"todo_guild_add" => {
Some(Self::TodoGuildAdd(crate::commands::todo::guild::add::Options::extract(ctx)))
}
"todo_guild_view" => {
Some(Self::TodoGuildView(crate::commands::todo::guild::view::Options::extract(ctx)))
}
"todo_user_add" => {
Some(Self::TodoUserAdd(crate::commands::todo::user::add::Options::extract(ctx)))
}
"todo_user_view" => {
Some(Self::TodoUserView(crate::commands::todo::user::view::Options::extract(ctx)))
}
"clock" => Some(Self::Clock(crate::commands::clock::Options::extract(ctx))),
"dashboard" => Some(Self::Dashboard(crate::commands::dashboard::Options::extract(ctx))),
"delete" => Some(Self::Delete(crate::commands::delete::Options::extract(ctx))),