parent
bc68726d23
commit
523d83022e
@ -0,0 +1,13 @@ |
||||
mod register; |
||||
|
||||
use std::error; |
||||
|
||||
fn main() -> Result<(), Box<error::Error>> { |
||||
let mastodon = register::get_mastodon_data()?; |
||||
let input = register::read_line("Enter the account id you'd like to follow: ")?; |
||||
let new_follow = mastodon.follow(input.trim().parse()?)?; |
||||
|
||||
println!("{:#?}", new_follow); |
||||
|
||||
Ok(()) |
||||
} |
@ -1,54 +0,0 @@ |
||||
extern crate mammut; |
||||
extern crate toml; |
||||
|
||||
use std::io; |
||||
use std::fs::File; |
||||
use std::io::prelude::*; |
||||
|
||||
use mammut::{Data, Mastodon, Registration}; |
||||
use mammut::apps::{AppBuilder, Scopes}; |
||||
|
||||
fn main() { |
||||
let mastodon = match File::open("mastodon-data.toml") { |
||||
Ok(mut file) => { |
||||
let mut config = String::new(); |
||||
file.read_to_string(&mut config).unwrap(); |
||||
let data: Data = toml::from_str(&config).unwrap(); |
||||
Mastodon::from_data(data) |
||||
}, |
||||
Err(_) => register(), |
||||
}; |
||||
|
||||
let you = mastodon.verify_credentials().unwrap(); |
||||
|
||||
println!("{:#?}", you); |
||||
} |
||||
|
||||
fn register() -> Mastodon { |
||||
let app = AppBuilder { |
||||
client_name: "mammut-examples", |
||||
redirect_uris: "urn:ietf:wg:oauth:2.0:oob", |
||||
scopes: Scopes::Read, |
||||
website: Some("https://github.com/Aaronepower/mammut"), |
||||
}; |
||||
|
||||
let mut registration = Registration::new("https://mastodon.social"); |
||||
registration.register(app).unwrap();; |
||||
let url = registration.authorise().unwrap(); |
||||
|
||||
println!("Click this link to authorize on Mastodon: {}", url); |
||||
println!("Paste the returned authorization code: "); |
||||
|
||||
let mut input = String::new(); |
||||
io::stdin().read_line(&mut input).unwrap(); |
||||
|
||||
let code = input.trim(); |
||||
let mastodon = registration.create_access_token(code.to_string()).unwrap(); |
||||
|
||||
// Save app data for using on the next run.
|
||||
let toml = toml::to_string(&*mastodon).unwrap(); |
||||
let mut file = File::create("mastodon-data.toml").unwrap(); |
||||
file.write_all(toml.as_bytes()).unwrap(); |
||||
|
||||
mastodon |
||||
} |
@ -0,0 +1,12 @@ |
||||
mod register; |
||||
|
||||
use std::error; |
||||
|
||||
fn main() -> Result<(), Box<error::Error>> { |
||||
let mastodon = register::get_mastodon_data()?; |
||||
let you = mastodon.verify_credentials()?; |
||||
|
||||
println!("{:#?}", you); |
||||
|
||||
Ok(()) |
||||
} |
@ -0,0 +1,68 @@ |
||||
extern crate mammut; |
||||
extern crate toml; |
||||
|
||||
use std::{ |
||||
error::Error, |
||||
fs, |
||||
io, |
||||
}; |
||||
|
||||
use self::mammut::{ |
||||
apps::{ |
||||
AppBuilder, |
||||
Scopes |
||||
}, |
||||
Mastodon, |
||||
Registration |
||||
}; |
||||
|
||||
#[allow(dead_code)] |
||||
fn main() -> Result<(), Box<Error>> { |
||||
register()?; |
||||
Ok(()) |
||||
} |
||||
|
||||
|
||||
#[allow(dead_code)] |
||||
pub fn get_mastodon_data() -> Result<Mastodon, Box<Error>> { |
||||
if let Ok(config) = fs::read_to_string("mastodon-data.toml") { |
||||
Ok(Mastodon::from_data(toml::from_str(&config)?)) |
||||
} else { |
||||
register() |
||||
} |
||||
} |
||||
|
||||
pub fn register() -> Result<Mastodon, Box<Error>> { |
||||
let app = AppBuilder { |
||||
client_name: "mammut-examples", |
||||
redirect_uris: "urn:ietf:wg:oauth:2.0:oob", |
||||
scopes: Scopes::Read, |
||||
website: Some("https://github.com/Aaronepower/mammut"), |
||||
}; |
||||
|
||||
let mut registration = Registration::new("https://mastodon.social"); |
||||
registration.register(app)?; |
||||
let url = registration.authorise()?; |
||||
|
||||
println!("Click this link to authorize on Mastodon: {}", url); |
||||
let input = read_line("Paste the returned authorization code: ")?; |
||||
|
||||
let code = input.trim(); |
||||
let mastodon = registration.create_access_token(code.to_string())?; |
||||
|
||||
// Save app data for using on the next run.
|
||||
let toml = toml::to_string(&*mastodon)?; |
||||
fs::write("mastodon-data.toml", toml.as_bytes())?; |
||||
|
||||
Ok(mastodon) |
||||
} |
||||
|
||||
pub fn read_line(message: &str) -> Result<String, Box<Error>> { |
||||
println!("{}", message); |
||||
|
||||
let mut input = String::new(); |
||||
io::stdin().read_line(&mut input)?; |
||||
|
||||
Ok(input) |
||||
} |
||||
|
@ -0,0 +1,13 @@ |
||||
mod register; |
||||
|
||||
use std::error; |
||||
|
||||
fn main() -> Result<(), Box<error::Error>> { |
||||
let mastodon = register::get_mastodon_data()?; |
||||
let input = register::read_line("Enter the term you'd like to search: ")?; |
||||
let result = mastodon.search_accounts(&input, None, true)?; |
||||
|
||||
println!("{:#?}", result.initial_items); |
||||
|
||||
Ok(()) |
||||
} |
Loading…
Reference in new issue