Crate mammut [] [src]

Mammut: API Wrapper around the Mastodon API.

Most of the api is documented on Mastodon's github

use mammut::Registration;
use mammut::apps::{AppBuilder, Scopes};

let app = AppBuilder {
    client_name: "mammut_test",
    redirect_uris: "urn:ietf:wg:oauth:2.0:oob",
    scopes: Scopes::Read,
    website: None,
};

let mut registration = Registration::new("https://mastodon.social");
registration.register(app)?;
let url = registration.authorise()?;
// Here you now need to open the url in the browser
// And handle a the redirect url coming back with the code.
let code = String::from("RETURNED_FROM_BROWSER");
let mastodon = registration.create_access_token(code)?;

println!("{:?}", mastodon.get_home_timeline()?);

Reexports

pub use status_builder::StatusBuilder;
pub use registration::Registration;

Modules

apps

Registering your App

entities

Entities returned from the API

page

Handling multiple pages of entities.

registration

Registering your app.

status_builder

Constructing a status

Structs

ApiError

Error returned from the Mastodon API.

Data

Raw data about mastodon app. Save Data using serde to prevent needing to authenticate on every run.

Mastodon

Your mastodon application client, handles all requests to and from Mastodon.

Enums

Error

enum of possible errors encountered using the mastodon API.

Type Definitions

Result

Convience type over std::result::Result with Error as the error type.