late-submissions
Elnu 3 years ago
parent 9063017a48
commit 830ac6cb61

@ -343,34 +343,46 @@ async fn suggest(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
);
// User::accent_colour is only available via the REST API
// If we just do msg.author.accent_colour here, we will get None
let accent_color = ctx.http
let accent_color = ctx
.http
.get_user(*msg.author.id.as_u64())
.await.unwrap()
.await
.unwrap()
.accent_colour;
channel.send_message(&ctx.http, |m| {
m.allowed_mentions(|am| {
am.empty_parse();
am
});
m.embed(|e| {
let username = format!("{}#{}", msg.author.name, msg.author.discriminator);
e.title("New suggestion");
e.description(format!("{}\n\n[See original message]({}) ({})", args.rest(), msg.link(), msg.guild(&ctx).unwrap().name));
let mut author = serenity::builder::CreateEmbedAuthor::default();
author
.icon_url(format!("https://cdn.discordapp.com/avatars/{}/{}.webp", msg.author.id, msg.author.avatar.as_ref().unwrap()))
.name(username)
.url(format!("https://discord.com/users/{}", msg.author.id));
e.set_author(author);
if let Some(accent_color) = accent_color {
e.color(accent_color);
}
e
});
m
})
.await
.unwrap();
channel
.send_message(&ctx.http, |m| {
m.allowed_mentions(|am| {
am.empty_parse();
am
});
m.embed(|e| {
let username = format!("{}#{}", msg.author.name, msg.author.discriminator);
e.title("New suggestion");
e.description(format!(
"{}\n\n[See original message]({}) ({})",
args.rest(),
msg.link(),
msg.guild(&ctx).unwrap().name
));
let mut author = serenity::builder::CreateEmbedAuthor::default();
author
.icon_url(format!(
"https://cdn.discordapp.com/avatars/{}/{}.webp",
msg.author.id,
msg.author.avatar.as_ref().unwrap()
))
.name(username)
.url(format!("https://discord.com/users/{}", msg.author.id));
e.set_author(author);
if let Some(accent_color) = accent_color {
e.color(accent_color);
}
e
});
m
})
.await
.unwrap();
msg.reply(&ctx.http, "Suggestion sent! Thank you for making a suggestion. If it is chosen to be used in a future challenge, you will be mentioned in the challenge description!").await?;
Ok(())
}
}

@ -67,11 +67,9 @@ async fn setSuggestionChannel(ctx: &Context, msg: &Message) -> CommandResult {
set_guild_data(guild_data);
msg.reply(
&ctx.http,
format!(
"Submission channel set to <#{}>.",
msg.channel_id
),
).await?;
format!("Submission channel set to <#{}>.", msg.channel_id),
)
.await?;
Ok(())
}

@ -10,7 +10,10 @@ use serenity::{
client::bridge::gateway::ShardManager,
framework::{standard::macros::group, StandardFramework},
http::Http,
model::{event::ResumedEvent, gateway::{Ready, GatewayIntents}},
model::{
event::ResumedEvent,
gateway::{GatewayIntents, Ready},
},
prelude::*,
};
use tracing::{error, info};

Loading…
Cancel
Save