18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
pub async fn list(core: &Core, sender: telegram_bot::UserId) -> Result<()> {
core.send(core.list(sender).await?, Some(sender), Some(telegram_bot::types::ParseMode::MarkdownV2))?;
Ok(())
}
pub async fn command(core: &Core, sender: telegram_bot::UserId, command: Vec<&str>) -> Result<()> {
core.send( match &command[1].parse::<i32>() {
Err(err) => format!("I need a number\\.\n{}", &err),
Ok(number) => match command[0] {
"/check" => core.check(&number, sender, false).await
.context("Channel check failed.")?,
"/clean" => core.clean(&number, sender).await?,
"/enable" => core.enable(&number, sender).await?
.to_string(),
"/delete" => core.delete(&number, sender).await?,
"/disable" => core.disable(&number, sender).await?
.to_string(),
_ => bail!("Command {} not handled.", &command[0]),
},
}, Some(sender), None)?;
Ok(())
}
pub async fn update(core: &Core, sender: telegram_bot::UserId, command: Vec<&str>) -> Result<()> {
|
|
|
<
|
<
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
pub async fn list(core: &Core, sender: telegram_bot::UserId) -> Result<()> {
core.send(core.list(sender).await?, Some(sender), Some(telegram_bot::types::ParseMode::MarkdownV2))?;
Ok(())
}
pub async fn command(core: &Core, sender: telegram_bot::UserId, command: Vec<&str>) -> Result<()> {
core.send( match &command[1].parse::<i32>() {
Err(err) => format!("I need a number\\.\n{}", &err).into(),
Ok(number) => match command[0] {
"/check" => core.check(&number, sender, false).await
.context("Channel check failed.")?,
"/clean" => core.clean(&number, sender).await?,
"/enable" => core.enable(&number, sender).await?.into(),
"/delete" => core.delete(&number, sender).await?,
"/disable" => core.disable(&number, sender).await?.into(),
_ => bail!("Command {} not handled.", &command[0]),
},
}, Some(sender), None)?;
Ok(())
}
pub async fn update(core: &Core, sender: telegram_bot::UserId, command: Vec<&str>) -> Result<()> {
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
let _url_rex = ReplaceCommand::new(thing).context("Regexp parsing error:")?;
Some(thing)
}
}
},
None => None,
};
let channel_id = i64::from(core.tg.send(telegram_bot::GetChat::new(telegram_bot::types::ChatRef::ChannelUsername(channel.to_string()))).await?.id());
let chan_adm = core.tg.send(telegram_bot::GetChatAdministrators::new(telegram_bot::types::ChatRef::ChannelUsername(channel.to_string()))).await
.context("Sorry, I have no access to that chat.")?;
let (mut me, mut user) = (false, false);
for admin in chan_adm {
if admin.user.id == core.my.id {
me = true;
};
if admin.user.id == sender {
|
>
|
|
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
let _url_rex = ReplaceCommand::new(thing).context("Regexp parsing error:")?;
Some(thing)
}
}
},
None => None,
};
let s_channel = &channel.to_string();
let channel_id = i64::from(core.tg.send(telegram_bot::GetChat::new(telegram_bot::types::ChatRef::ChannelUsername(s_channel.into()))).await?.id());
let chan_adm = core.tg.send(telegram_bot::GetChatAdministrators::new(telegram_bot::types::ChatRef::ChannelUsername(s_channel.into()))).await
.context("Sorry, I have no access to that chat.")?;
let (mut me, mut user) = (false, false);
for admin in chan_adm {
if admin.user.id == core.my.id {
me = true;
};
if admin.user.id == sender {
|