diff options
| author | jan <jan@ruken.pw> | 2016-04-07 17:05:24 (UTC) |
|---|---|---|
| committer | jan <jan@ruken.pw> | 2016-04-07 17:05:24 (UTC) |
| commit | 5fe11c7ffa1227f10139836a9c755a63dacc6916 (patch) | |
| tree | 6c126a9b279bc18401fa9f8348642df8833e7b18 /src/main.rs | |
| parent | 41e1b7bc8279cfe47577a9191a738325950bb431 (diff) | |
features anzeigen fuer luggas. irgendwas gefixt.
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index 0880467..5e2cd01 100644 --- a/src/main.rs +++ b/src/main.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | extern crate telegram_bot; | 1 | extern crate telegram_bot; |
| 2 | use telegram_bot::{Api, ListeningMethod, ListeningAction}; | 2 | use telegram_bot::{Api, ListeningMethod, ParseMode, MessageType, ListeningAction}; |
| 3 | extern crate rustc_serialize; | 3 | extern crate rustc_serialize; |
| 4 | use rustc_serialize::json; | 4 | use std::ascii::AsciiExt; |
| 5 | 5 | ||
| 6 | mod feature; | 6 | mod feature; |
| 7 | use feature::{Feature, FeatureResult}; | 7 | use feature::{Feature, FeatureResult}; |
| @@ -15,8 +15,29 @@ fn main() { | |||
| 15 | let mut listener = api.listener(ListeningMethod::LongPoll(None)); | 15 | let mut listener = api.listener(ListeningMethod::LongPoll(None)); |
| 16 | let res = listener.listen(|u| { | 16 | let res = listener.listen(|u| { |
| 17 | if let Some(m) = u.message { | 17 | if let Some(m) = u.message { |
| 18 | if let &MessageType::Text(ref s) = &m.msg { | ||
| 19 | if (s).to_ascii_lowercase().contains("luggas zeig mir deine features") { | ||
| 20 | let mut msg = String::new(); | ||
| 21 | for f in &features { | ||
| 22 | msg.push_str(&format!("`{}`, ", f.name())); | ||
| 23 | } | ||
| 24 | let msg = msg; | ||
| 25 | let pos = msg.len() - 2; | ||
| 26 | let mut msg = msg; | ||
| 27 | msg.remove(pos); | ||
| 28 | if let Err(e) = api.send_message(m.chat.id(), | ||
| 29 | msg, | ||
| 30 | Some(ParseMode::Markdown), | ||
| 31 | None, | ||
| 32 | Some(m.message_id), | ||
| 33 | None) { | ||
| 34 | println!("{}", e); | ||
| 35 | } | ||
| 36 | return Ok(ListeningAction::Continue); | ||
| 37 | } | ||
| 38 | } | ||
| 18 | for f in &mut features { | 39 | for f in &mut features { |
| 19 | match (**f).handle(api.clone(), m.clone()) { | 40 | match f.handle(api.clone(), m.clone()) { |
| 20 | Ok(r) => { | 41 | Ok(r) => { |
| 21 | match r { | 42 | match r { |
| 22 | FeatureResult::Handled => break, | 43 | FeatureResult::Handled => break, |
