Crate mammut

source ·
Expand description

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()?.initial_items);

Re-exports

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

Modules

Registering your App
Entities returned from the API
Handling multiple pages of entities.
Registering your app.
Constructing a status

Structs

Error returned from the Mastodon API.
Raw data about mastodon app. Save Data using serde to prevent needing to authenticate on every run.
Your mastodon application client, handles all requests to and from Mastodon.

Enums

enum of possible errors encountered using the mastodon API.

Type Definitions

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