mastodon API rust lib elefren, fixed and updated. and also all ASYNC! NB. most examples are now wrong.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Paul Woolcock 6cee086d79 Add `max_toot_chars` to the Instance model 7年前
docs rename book -> guide 7年前
examples Remove `elefren::apps::prelude` 7年前
src Add `max_toot_chars` to the Instance model 7年前
tests Make sure our README example(s) always compile 7年前
.env.sample updated reqwest and fixed media route 8年前
.gitignore Make sure our README example(s) always compile 7年前
.travis.yml add OSX builds 7年前
CHANGELOG.md Update CHANGELOG 7年前
Cargo.toml Add test for entities::Account 7年前
LICENCE-APACHE Initial commit 9年前
LICENCE-MIT Initial commit 9年前
Makefile add a Makefile to collect commands in 7年前
README.md add appveyor badge 7年前
appveyor.yml expand the test matrix 7年前
build.rs If we don't have `feature = "toml"` set, don't run rust-skeptic 7年前
rustfmt.toml rustfmt pass 7年前

README.md

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

elefren = "0.12"

Usage

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

extern crate elefren;

Example

extern crate elefren;

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

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

fn main() -> Result<(), Box<Error>> {
    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<Mastodon, Box<Error>> {
    let registration = Registration::new("https://mastodon.social")
                                    .client_name("elefren-examples")
                                    .register()?;
    let url = registration.authorize_url()?;

    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)
}