Files
book_bot/src/bots/approved_bot/services/donation_notifications.rs
2023-09-22 19:24:18 +02:00

26 lines
908 B
Rust

use teloxide::{types::Message, adaptors::{CacheMe, Throttle}, Bot};
use crate::{bots::{BotHandlerInternal, approved_bot::modules::support::support_command_handler}, bots_manager::CHAT_DONATION_NOTIFICATIONS_CACHE};
use super::user_settings::{is_need_donate_notifications, mark_donate_notification_sent};
pub async fn send_donation_notification(
bot: CacheMe<Throttle<Bot>>,
message: Message,
) -> BotHandlerInternal {
if CHAT_DONATION_NOTIFICATIONS_CACHE.get(&message.chat.id).await.is_some() {
return Ok(());
} else if !is_need_donate_notifications(message.chat.id).await? {
CHAT_DONATION_NOTIFICATIONS_CACHE.insert(message.chat.id, ()).await;
return Ok(());
}
CHAT_DONATION_NOTIFICATIONS_CACHE.insert(message.chat.id, ()).await;
mark_donate_notification_sent(message.chat.id).await?;
support_command_handler(message, bot).await?;
Ok(())
}