Files
desubot/src/commands.rs

35 lines
1.2 KiB
Rust
Raw Normal View History

2020-11-28 17:31:08 +03:00
use crate::db;
2020-11-29 16:23:27 +03:00
use html_escape::encode_text;
2020-11-28 17:31:08 +03:00
use telegram_bot::prelude::*;
2020-12-07 15:55:25 +03:00
use telegram_bot::{Api, Error, Message, ParseMode, };
2020-11-28 17:31:08 +03:00
pub(crate) async fn here(api: Api, message: Message) -> Result<(), Error> {
2020-11-29 16:23:27 +03:00
let members: Vec<telegram_bot::User> = db::get_members(message.chat.id()).unwrap();
2020-11-29 00:26:00 +03:00
for u in &members {
2020-12-06 23:55:09 +03:00
debug!("Found user {:?}", u);
2020-11-29 00:26:00 +03:00
}
let mut msg = "<b>I summon you</b>, ".to_string();
2020-11-28 17:31:08 +03:00
for user in members {
let mention = match user.username {
Some(username) => format!("@{}", username),
2020-11-29 16:23:27 +03:00
_ => format!(
"<a href=\"tg://user?id={}\">{}</a>",
encode_text(&user.id.to_string()),
encode_text(&user.first_name)
),
2020-11-28 17:31:08 +03:00
};
msg = format!("{} {}", msg, mention);
}
2020-12-07 15:55:25 +03:00
match api
.send(message.text_reply(msg).parse_mode(ParseMode::Html))
.await
{
2020-12-06 23:55:09 +03:00
Ok(_) => debug!("@here command sent to {}", message.from.id),
Err(_) => warn!("@here command sent failed to {}", message.from.id),
}
2020-11-28 17:31:08 +03:00
//api.send(message.chat.text("Text to message chat")).await?;
//api.send(message.from.text("Private text")).await?;
Ok(())
}