mastodon API rust lib elefren, fixed and updated. and also all ASYNC! NB. most examples are now wrong.
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
Paul Woolcock 1847160369 No reason to impl Deser for both the ApiError and Error types před 7 roky
examples Change mammut references to elefren před 7 roky
src No reason to impl Deser for both the ApiError and Error types před 7 roky
.env.sample updated reqwest and fixed media route před 8 roky
.gitignore Version 0.10.0-rc1 před 8 roky
.travis.yml Added travis před 8 roky
CHANGELOG.md Version 11 před 7 roky
Cargo.toml Change mammut references to elefren před 7 roky
LICENCE-APACHE Initial commit před 9 roky
LICENCE-MIT Initial commit před 9 roky
README.md Change mammut references to elefren před 7 roky

README.md

Elefren. A API Wrapper for the Mastodon API.

crates.io Docs MIT/APACHE-2.0

Documentation

A wrapper around the API for Mastodon

extern crate elefren;
extern crate toml;

use std::io;
use std::fs::File;
use std::io::prelude::*;

use elefren::{Data, Mastodon, Registration};
use elefren::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: "elefren-examples",
        redirect_uris: "urn:ietf:wg:oauth:2.0:oob",
        scopes: Scopes::Read,
        website: Some("https://github.com/pwoolcoc/elefren"),
    };

    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
}