mirror of
https://github.com/flibusta-apps/book_bot.git
synced 2025-12-06 15:35:35 +01:00
Add channel messages ignoring
This commit is contained in:
@@ -11,11 +11,12 @@ use self::modules::{
|
|||||||
update_history::get_update_log_handler,
|
update_history::get_update_log_handler,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::{BotCommands, BotHandler};
|
use super::{BotCommands, BotHandler, ignore_channel_messages};
|
||||||
|
|
||||||
pub fn get_approved_handler() -> (BotHandler, BotCommands) {
|
pub fn get_approved_handler() -> (BotHandler, BotCommands) {
|
||||||
(
|
(
|
||||||
dptree::entry()
|
dptree::entry()
|
||||||
|
.branch(ignore_channel_messages())
|
||||||
.branch(get_help_handler())
|
.branch(get_help_handler())
|
||||||
.branch(get_settings_handler())
|
.branch(get_settings_handler())
|
||||||
.branch(get_support_handler())
|
.branch(get_support_handler())
|
||||||
|
|||||||
@@ -15,6 +15,16 @@ type BotHandler = Handler<
|
|||||||
|
|
||||||
type BotCommands = Option<Vec<teloxide::types::BotCommand>>;
|
type BotCommands = Option<Vec<teloxide::types::BotCommand>>;
|
||||||
|
|
||||||
|
fn ignore_channel_messages() -> crate::bots::BotHandler
|
||||||
|
{
|
||||||
|
Update::filter_message()
|
||||||
|
.chain(dptree::filter(move |message: Message| {
|
||||||
|
message.chat.is_channel()
|
||||||
|
})).endpoint(|_message: Message, _bot: AutoSend<Bot>| async {
|
||||||
|
Ok(())
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
fn get_pending_handler() -> BotHandler {
|
fn get_pending_handler() -> BotHandler {
|
||||||
let handler = |msg: Message, bot: AutoSend<Bot>| async move {
|
let handler = |msg: Message, bot: AutoSend<Bot>| async move {
|
||||||
let message_text = "
|
let message_text = "
|
||||||
@@ -26,7 +36,11 @@ fn get_pending_handler() -> BotHandler {
|
|||||||
Ok(())
|
Ok(())
|
||||||
};
|
};
|
||||||
|
|
||||||
Update::filter_message().chain(dptree::endpoint(handler))
|
dptree::entry()
|
||||||
|
.branch(ignore_channel_messages())
|
||||||
|
.branch(
|
||||||
|
Update::filter_message().chain(dptree::endpoint(handler))
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_blocked_handler() -> BotHandler {
|
fn get_blocked_handler() -> BotHandler {
|
||||||
@@ -37,7 +51,11 @@ fn get_blocked_handler() -> BotHandler {
|
|||||||
Ok(())
|
Ok(())
|
||||||
};
|
};
|
||||||
|
|
||||||
Update::filter_message().chain(dptree::endpoint(handler))
|
dptree::entry()
|
||||||
|
.branch(ignore_channel_messages())
|
||||||
|
.branch(
|
||||||
|
Update::filter_message().chain(dptree::endpoint(handler))
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_bot_handler(status: crate::bots_manager::BotStatus) -> (BotHandler, BotCommands) {
|
pub fn get_bot_handler(status: crate::bots_manager::BotStatus) -> (BotHandler, BotCommands) {
|
||||||
|
|||||||
Reference in New Issue
Block a user