// zotapi - Rust wrapper for Sot API as implemented by Hubzilla // Copyright (C) 2018 Harald Eilertsen // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . extern crate zotapi; extern crate dotenv; use dotenv::dotenv; use std::env; const MIN_BODY_LENGTH : usize = 8; fn main() { dotenv().ok(); let site = env::var("SITE").expect("SITE variable expected"); let user = env::var("USER").expect("USER variable expected"); let password = env::var("PASSWORD").expect("PASSWORD variable expected"); let body = env::args().skip(1).collect::>().join(" "); if body.len() < MIN_BODY_LENGTH { println!("Message is missing or too short. At least {} chars needed.", MIN_BODY_LENGTH); } println!("Message: {}", body); let client = zotapi::client(&site, &user, &password); match client.item().body(&body).create() { Ok(payload) => { println!("Raw payload: {}", payload); }, Err(e) => { println!("Error posting message: {:?}", e); } } }