diff options
-rw-r--r-- | src/feature/bare.rs | 34 | ||||
-rw-r--r-- | src/feature/topanime.rs | 10 |
2 files changed, 39 insertions, 5 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 | } | ||
diff --git a/src/feature/topanime.rs b/src/feature/topanime.rs index cccc976..94edd30 100644 --- a/src/feature/topanime.rs +++ b/src/feature/topanime.rs | |||
@@ -30,12 +30,12 @@ impl Anime { | |||
30 | 30 | ||
31 | pub struct TopAnime { | 31 | pub struct TopAnime { |
32 | animes: Vec<Anime>, | 32 | animes: Vec<Anime>, |
33 | last_access: f64, | 33 | last_update: f64, |
34 | } | 34 | } |
35 | 35 | ||
36 | impl Feature for TopAnime { | 36 | impl Feature for TopAnime { |
37 | fn name(&self) -> &'static str { | 37 | fn name(&self) -> &'static str { |
38 | "Tasterank" | 38 | "TopAnime" |
39 | } | 39 | } |
40 | fn init(&mut self) {} | 40 | fn init(&mut self) {} |
41 | fn handle(&mut self, a: Api, m: Message) -> Result<FeatureResult, String> { | 41 | fn handle(&mut self, a: Api, m: Message) -> Result<FeatureResult, String> { |
@@ -95,14 +95,14 @@ impl TopAnime { | |||
95 | pub fn new() -> TopAnime { | 95 | pub fn new() -> TopAnime { |
96 | let mut t = TopAnime { | 96 | let mut t = TopAnime { |
97 | animes: vec![], | 97 | animes: vec![], |
98 | last_access: 0f64, | 98 | last_update: 0f64, |
99 | }; | 99 | }; |
100 | t.init(); | 100 | t.init(); |
101 | t | 101 | t |
102 | } | 102 | } |
103 | fn update_animes(&mut self) -> Result<(), io::Error> { | 103 | fn update_animes(&mut self) -> Result<(), io::Error> { |
104 | let now = time::precise_time_s(); | 104 | let now = time::precise_time_s(); |
105 | if now - self.last_access < 3600.0f64 { | 105 | if now - self.last_update < 3600.0f64 { |
106 | return Ok(()); | 106 | return Ok(()); |
107 | } | 107 | } |
108 | let mut f = try!(File::open("data/animescore.json")); | 108 | let mut f = try!(File::open("data/animescore.json")); |
@@ -113,7 +113,7 @@ impl TopAnime { | |||
113 | Err(e) => return Err(io::Error::new(io::ErrorKind::InvalidData, format!("{}", e))), | 113 | Err(e) => return Err(io::Error::new(io::ErrorKind::InvalidData, format!("{}", e))), |
114 | }; | 114 | }; |
115 | self.animes = v; | 115 | self.animes = v; |
116 | self.last_access = now; | 116 | self.last_update = now; |
117 | Ok(()) | 117 | Ok(()) |
118 | } | 118 | } |
119 | } | 119 | } |