telegram_markov_chain/
lib.rs

1use std::fs;
2use markov::Chain;
3
4lazy_static::lazy_static! {
5    static ref CHAIN: Chain<String> = {
6	let mut chain = Chain::new();
7	let file = fs::read_to_string("result.json").unwrap();
8	let parsed = json::parse(&file).unwrap();
9	let messages = &parsed["messages"];
10	if let json::JsonValue::Array(messages) = messages {
11	    for message in messages {
12		if let json::JsonValue::String(text) = &message["text"] {
13		    if text.is_empty() {
14			continue
15		    } else {
16			// text is not empty
17			chain.feed_str(text);
18		    }
19		}
20	    }
21	}
22	chain
23    };
24}
25
26
27pub fn chain() -> String {
28    CHAIN.generate_str()
29}