feat: turn answer into an embed one
This commit is contained in:
parent
e472930ade
commit
7c29ff5ce0
@ -1,7 +1,9 @@
|
||||
use serenity::{
|
||||
all::Message,
|
||||
builder::{CreateEmbed, CreateEmbedFooter, CreateMessage},
|
||||
client::Context,
|
||||
framework::standard::{macros::command, Args, CommandResult},
|
||||
model::colour,
|
||||
};
|
||||
|
||||
use crate::db::user_image::UserImage;
|
||||
@ -13,6 +15,10 @@ pub async fn enable(ctx: &Context, msg: &Message, mut args: Args) -> CommandResu
|
||||
Some(guild) => guild,
|
||||
None => return Ok(()),
|
||||
};
|
||||
let footer = CreateEmbedFooter::new("WeeboBot");
|
||||
let embed = CreateEmbed::new()
|
||||
.title("Enable/Disable auto meme answer")
|
||||
.footer(footer);
|
||||
let mut user_in_db: UserImage =
|
||||
match UserImage::find_by_server_id_user_id(&guild.get(), &msg.author.id.get()).await {
|
||||
Ok(Some(user_in_db)) => user_in_db.clone(),
|
||||
@ -21,11 +27,11 @@ pub async fn enable(ctx: &Context, msg: &Message, mut args: Args) -> CommandResu
|
||||
match user_in_db.create().await {
|
||||
Ok(_) => user_in_db,
|
||||
Err(e) => {
|
||||
if let Err(why) = msg
|
||||
.channel_id
|
||||
.say(&ctx.http, "Couldn't create user in db")
|
||||
.await
|
||||
{
|
||||
let embed = embed
|
||||
.field("Could't create user in db", e.to_string(), false)
|
||||
.color(colour::Color::RED);
|
||||
let builder = CreateMessage::new().embed(embed).reference_message(msg);
|
||||
if let Err(why) = msg.channel_id.send_message(&ctx.http, builder).await {
|
||||
println!("Error sending message: {:?}", why)
|
||||
}
|
||||
println!("Error saving user image: {:?}", e);
|
||||
@ -34,11 +40,11 @@ pub async fn enable(ctx: &Context, msg: &Message, mut args: Args) -> CommandResu
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
if let Err(why) = msg
|
||||
.channel_id
|
||||
.say(&ctx.http, "Error finding user image")
|
||||
.await
|
||||
{
|
||||
let embed = embed
|
||||
.field("Error finding user image", e.to_string(), false)
|
||||
.color(colour::Color::RED);
|
||||
let builder = CreateMessage::new().embed(embed).reference_message(msg);
|
||||
if let Err(why) = msg.channel_id.send_message(&ctx.http, builder).await {
|
||||
println!("Error sending message: {:?}", why)
|
||||
}
|
||||
println!("Error finding user image: {:?}", e);
|
||||
@ -47,11 +53,13 @@ pub async fn enable(ctx: &Context, msg: &Message, mut args: Args) -> CommandResu
|
||||
};
|
||||
if let Ok(new_status) = args.single::<bool>() {
|
||||
if user_in_db.enable == new_status {
|
||||
if let Err(why) = msg
|
||||
.channel_id
|
||||
.say(&ctx.http, format!("Auto answer the same : {}", new_status))
|
||||
.await
|
||||
{
|
||||
let embed = embed.field(
|
||||
format!("Auto answer the same : {}", new_status),
|
||||
String::new(),
|
||||
false,
|
||||
);
|
||||
let builder = CreateMessage::new().embed(embed).reference_message(msg);
|
||||
if let Err(why) = msg.channel_id.send_message(&ctx.http, builder).await {
|
||||
println!("Error sending message: {:?}", why)
|
||||
}
|
||||
return Ok(());
|
||||
@ -59,20 +67,16 @@ pub async fn enable(ctx: &Context, msg: &Message, mut args: Args) -> CommandResu
|
||||
user_in_db.enable = new_status;
|
||||
match user_in_db.update().await {
|
||||
Ok(_) => {
|
||||
if let Err(why) = msg
|
||||
.channel_id
|
||||
.say(&ctx.http, format!("Auto answer : {}", new_status))
|
||||
.await
|
||||
{
|
||||
let embed = embed.field("Auto answer", new_status.to_string(), false);
|
||||
let builder = CreateMessage::new().embed(embed).reference_message(msg);
|
||||
if let Err(why) = msg.channel_id.send_message(&ctx.http, builder).await {
|
||||
println!("Error sending message: {:?}", why)
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
if let Err(why) = msg
|
||||
.channel_id
|
||||
.say(&ctx.http, "Couldn't update user in db")
|
||||
.await
|
||||
{
|
||||
let embed = embed.field("Couldn't update user in db", e.to_string(), false);
|
||||
let builder = CreateMessage::new().embed(embed).reference_message(msg);
|
||||
if let Err(why) = msg.channel_id.send_message(&ctx.http, builder).await {
|
||||
println!("Error sending message: {:?}", why)
|
||||
}
|
||||
println!("Error saving user image: {:?}", e);
|
||||
@ -81,14 +85,9 @@ pub async fn enable(ctx: &Context, msg: &Message, mut args: Args) -> CommandResu
|
||||
}
|
||||
return Ok(());
|
||||
} else {
|
||||
if let Err(why) = msg
|
||||
.channel_id
|
||||
.say(
|
||||
&ctx.http,
|
||||
format!("Auto answer enabled : {}", user_in_db.enable),
|
||||
)
|
||||
.await
|
||||
{
|
||||
let embed = embed.field("Auto answer", user_in_db.enable.to_string(), false);
|
||||
let builder = CreateMessage::new().embed(embed).reference_message(msg);
|
||||
if let Err(why) = msg.channel_id.send_message(&ctx.http, builder).await {
|
||||
println!("Error sending message: {:?}", why)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user