Skip to content

Commit d8abd59

Browse files
committed
Wait 1 second before sending welcome message
1 parent 8283e47 commit d8abd59

1 file changed

Lines changed: 19 additions & 15 deletions

File tree

src/discord_bot/mod.rs

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ use serenity::model::user::User;
4242
use serenity::prelude::GatewayIntents;
4343
use serenity::Client;
4444
use std::sync::Arc;
45+
use std::time::Duration;
4546
use tokio::sync::RwLock;
4647

4748
pub(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

0 commit comments

Comments
 (0)