Fix add_conf

This commit is contained in:
AB
2020-12-10 16:54:39 +03:00
parent cfe510029e
commit 72a35058a8
4 changed files with 123 additions and 114 deletions

113
src/handlers.rs Normal file
View File

@ -0,0 +1,113 @@
use telegram_bot::*;
use crate::mystem::MyStem;
use crate::errors;
use crate::db;
use crate::commands;
use crate::utils;
pub async fn handler(
api: Api,
message: Message,
token: String,
mystem: &mut MyStem,
me: User,
) -> Result<(), errors::Error> {
match message.kind {
MessageKind::Text { ref data, .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: {}",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
data
);
db::add_sentence(&message, mystem).await?;
match data.as_str() {
"/here" => commands::here(api, message).await?,
"/top" => commands::top(api, message).await?,
"/stat" => commands::top(api, message).await?,
"/markov_all" => commands::markov_all(api, message).await?,
_ => (),
}
}
MessageKind::Photo { ref caption, .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: *PHOTO* {}",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
caption.clone().unwrap_or("NO_TITLE".to_string())
);
utils::get_files(api, message, token).await?;
}
MessageKind::Document { ref caption, .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: *DOCUMENT* {}",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
caption.clone().unwrap_or("NO_TITLE".to_string())
);
utils::get_files(api, message, token).await?;
}
MessageKind::Sticker { .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: *STICKER*",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
);
utils::get_files(api, message, token).await?;
}
MessageKind::Voice { .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: *VOICE*",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
);
utils::get_files(api, message, token).await?;
}
MessageKind::Video { .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: *VIDEO*",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
);
utils::get_files(api, message, token).await?;
}
MessageKind::VideoNote { .. } => {
let title = utils::get_title(&message);
info!(
"<{}({})>[{}({})]: *VIDEO_NOTE*",
&message.chat.id(),
title,
&message.from.id,
&message.from.first_name,
);
utils::get_files(api, message, token).await?;
}
_ => (),
};
Ok(())
}