diff --git a/src/commands/add_game.rs b/src/commands/add_game.rs index ddbafb5..03e6af4 100644 --- a/src/commands/add_game.rs +++ b/src/commands/add_game.rs @@ -26,4 +26,10 @@ pub fn register() -> CreateCommand { ) .required(true) ) + .add_option( + CreateCommandOption::new( + CommandOptionType::String, "date", "Дата заказа" + ) + .required(false) + ) } diff --git a/src/commands/create_message.rs b/src/commands/create_message.rs new file mode 100644 index 0000000..e9fb7b4 --- /dev/null +++ b/src/commands/create_message.rs @@ -0,0 +1,7 @@ +use serenity::builder::*; + + +pub fn register() -> CreateCommand { + CreateCommand::new("create_message") + .description("Не вызывать, только для настройки") +} diff --git a/src/commands/delete_game.rs b/src/commands/delete_game.rs new file mode 100644 index 0000000..c11e35f --- /dev/null +++ b/src/commands/delete_game.rs @@ -0,0 +1,14 @@ +use serenity::builder::*; +use serenity::model::prelude::*; + + +pub fn register() -> CreateCommand { + CreateCommand::new("delete") + .description("Удалить игру из списока") + .add_option( + CreateCommandOption::new( + CommandOptionType::String, "game", "Игра" + ) + .required(true) + ) +} diff --git a/src/commands/mod.rs b/src/commands/mod.rs index b179fdf..7a77dae 100644 --- a/src/commands/mod.rs +++ b/src/commands/mod.rs @@ -1 +1,3 @@ pub mod add_game; +pub mod delete_game; +pub mod create_message; diff --git a/src/main.rs b/src/main.rs index b5c72b3..446b837 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,5 @@ use reqwest::Url; -use serenity::all::{ActivityData, CreateInteractionResponse, CreateInteractionResponseMessage, GuildId, Interaction}; +use serenity::all::{ActivityData, CreateMessage, GuildId}; use serenity::async_trait; use serenity::model::channel::Message; use serenity::prelude::*; @@ -28,11 +28,19 @@ struct Handler; #[async_trait] impl EventHandler for Handler { async fn message(&self, _ctx: Context, msg: Message) { + if msg.guild_id != Some(config::CONFIG.discord_guild_id.into()) { + return; + } + if msg.channel_id == config::CONFIG.discord_channel_id { send_to_telegram(&msg.content).await; return; } + if msg.content == "/create_message" { + let _ = msg.channel_id.send_message(&_ctx.http, CreateMessage::new().content("#Init")).await; + } + println!("{}: {}", msg.author.name, msg.content); } @@ -44,7 +52,8 @@ impl EventHandler for Handler { &ctx.http, vec![ commands::add_game::register(), - // commands::delete_game::register(), + commands::delete_game::register(), + commands::create_message::register() ] ).await.unwrap(); }