File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ use serenity::model::user::User;
4242use serenity:: prelude:: GatewayIntents ;
4343use serenity:: Client ;
4444use std:: sync:: Arc ;
45+ use std:: time:: Duration ;
4546use tokio:: sync:: RwLock ;
4647
4748pub ( crate ) type Handle = Arc < Http > ;
@@ -259,21 +260,24 @@ impl EventHandler for Handler {
259260 }
260261 }
261262
262- if let Some ( welcome_message_data) = & storage. welcome_message {
263- if let Err ( err) = welcome_message_data
264- . channel
265- . send_message (
266- & ctx,
267- CreateMessage :: new ( ) . content (
268- welcome_message_data
269- . message
270- . replace ( "[user]" , & format ! ( "<@{}>" , new_member. user. id) ) ,
271- ) ,
272- )
273- . await
274- {
275- error ! ( "Failed to send welcome message: {}" , err) ;
276- }
263+ if let Some ( welcome_message_data) = storage. welcome_message . clone ( ) {
264+ tokio:: runtime:: Handle :: current ( ) . spawn ( async move {
265+ tokio:: time:: sleep ( Duration :: from_secs ( 1 ) ) . await ;
266+ if let Err ( err) = welcome_message_data
267+ . channel
268+ . send_message (
269+ & ctx,
270+ CreateMessage :: new ( ) . content (
271+ welcome_message_data
272+ . message
273+ . replace ( "[user]" , & format ! ( "<@{}>" , new_member. user. id) ) ,
274+ ) ,
275+ )
276+ . await
277+ {
278+ error ! ( "Failed to send welcome message: {}" , err) ;
279+ }
280+ } ) ;
277281 }
278282 }
279283
You can’t perform that action at this time.
0 commit comments