2020-10-17 15:47:17 +00:00
|
|
|
use chronicle_dicebot::commands;
|
2020-10-15 16:52:08 +00:00
|
|
|
use chronicle_dicebot::context::Context;
|
|
|
|
use chronicle_dicebot::db::Database;
|
|
|
|
use chronicle_dicebot::error::BotError;
|
2020-04-21 03:15:13 +00:00
|
|
|
|
2020-10-17 15:47:17 +00:00
|
|
|
#[tokio::main]
|
|
|
|
async fn main() -> Result<(), BotError> {
|
2020-11-03 20:14:15 +00:00
|
|
|
let db = Database::new_temp()?;
|
2020-10-15 16:52:08 +00:00
|
|
|
let input = std::env::args().skip(1).collect::<Vec<String>>().join(" ");
|
2020-11-12 21:05:14 +00:00
|
|
|
let command = match commands::parser::parse_command(&input) {
|
2020-10-15 16:52:08 +00:00
|
|
|
Ok(command) => command,
|
|
|
|
Err(e) => return Err(e),
|
2020-04-21 03:15:13 +00:00
|
|
|
};
|
2020-10-15 16:52:08 +00:00
|
|
|
|
2020-11-22 20:52:44 +00:00
|
|
|
let context = Context {
|
|
|
|
db: db,
|
|
|
|
matrix_client: &matrix_sdk::Client::new("http://example.com")
|
|
|
|
.expect("Could not create matrix client"),
|
|
|
|
room_id: "roomid",
|
|
|
|
username: "@localuser:example.com",
|
|
|
|
message_body: &input,
|
|
|
|
};
|
|
|
|
|
2020-10-17 15:47:17 +00:00
|
|
|
println!("{}", command.execute(&context).await.plain());
|
2020-04-21 03:15:13 +00:00
|
|
|
Ok(())
|
|
|
|
}
|