Elefren

A Wrapper for the Mastodon API.

Build Status Build Status Coverage Status crates.io Docs MIT/APACHE-2.0

Documentation

A wrapper around the API for Mastodon

Installation

To add elefren to your project, add the following to the [dependencies] section of your Cargo.toml

toml elefren = "0.13"

Usage

To use this crate in your project, add this to your crate root (lib.rs, main.rs, etc):

rust,ignore extern crate elefren;

Example

```rust,no_run extern crate elefren;

use std::io; use std::error::Error;

use elefren::prelude::*; use elefren::helpers::toml; // requires features = ["toml"]

fn main() -> Result<(), Box> { let mastodon = if let Ok(data) = toml::from_file("mastodon-data.toml") { Mastodon::from(data) } else { register()? };

let you = mastodon.verify_credentials()?;

println!("{:#?}", you);

Ok(())

}

fn register() -> Result> { let registration = Registration::new("https://mastodon.social") .clientname("elefren-examples") .build()?; let url = registration.authorizeurl()?;

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)?;

let code = input.trim().to_string();
let mastodon = registration.complete(&code)?;

// Save app data for using on the next run.
toml::to_file(&*mastodon, "mastodon-data.toml")?;

Ok(mastodon)

}