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 media_builder::MediaBuilder;
pub use registration::Registration;

Modules§

apps
Registering your App
entities
Entities returned from the API
media_builder
Constructing media attachments for a status.
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.
StatusesRequest
Example

Enums§

Error
enum of possible errors encountered using the mastodon API.

Type Aliases§

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