@ -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 ( ( ) )
}