diff options
Diffstat (limited to 'src/feature/bare.rs')
| -rw-r--r-- | src/feature/bare.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/feature/bare.rs b/src/feature/bare.rs new file mode 100644 index 0000000..ef5caaf --- /dev/null +++ b/src/feature/bare.rs | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | extern crate telegram_bot; | ||
| 2 | use telegram_bot::{Api, Message, MessageType}; | ||
| 3 | use std::ascii::AsciiExt; | ||
| 4 | |||
| 5 | use feature::FeatureResult; | ||
| 6 | use feature::Feature; | ||
| 7 | |||
| 8 | pub struct BareFeature { | ||
| 9 | penis: i32, | ||
| 10 | } | ||
| 11 | |||
| 12 | impl Feature for BareFeature { | ||
| 13 | fn name(&self) -> &'static str { | ||
| 14 | "BareFeature" | ||
| 15 | } | ||
| 16 | fn init(&mut self) {} | ||
| 17 | fn handle(&mut self, a: Api, m: Message) -> Result<FeatureResult, String> { | ||
| 18 | if let MessageType::Text(ref s) = m.msg { | ||
| 19 | if !(&s).to_ascii_lowercase().contains("luggas") { | ||
| 20 | return Ok(FeatureResult::Skip); | ||
| 21 | } | ||
| 22 | } else { | ||
| 23 | return Ok(FeatureResult::Skip); | ||
| 24 | } | ||
| 25 | |||
| 26 | Ok(FeatureResult::Skip) | ||
| 27 | } | ||
| 28 | } | ||
| 29 | |||
| 30 | impl BareFeature { | ||
| 31 | pub fn new() -> BareFeature { | ||
| 32 | BareFeature { penis: 1 } | ||
| 33 | } | ||
| 34 | } | ||
