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