Version 0.10.0-rc1
- Added the ability to handle paged entities like favourites and such. (Only favourites in prerelease) - Added optional `source` and `moved` fields to `Account`. - Added `Source` struct to match with the `Account.source` field. - Added `CredientialsBuilder` struct for updating profile using `verify_credientials`. - Attachment now handles being sent an empty object, which is converted to `None`. - Added ombed data fields to `Card`. - Added `version` and `urls` fields to `Instance`. - Added `id`, `muting_notifications`, and `domain_blocking` to `Relationship`. - Added `emojis`, `language`, and `pinned` fields to `Status` - Added `Emoji` struct. - Added `List` and `Mention` structs(matching routes not added yet). - Added example that prints your profile.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
extern crate mammut;
|
||||
extern crate toml;
|
||||
use mammut::{Data, Mastodon, Registration};
|
||||
use mammut::apps::{AppBuilder, Scopes};
|
||||
use std::io;
|
||||
use std::fs::File;
|
||||
use std::io::prelude::*;
|
||||
|
||||
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: "mammut-examples",
|
||||
redirect_uris: "urn:ietf:wg:oauth:2.0:oob",
|
||||
scopes: Scopes::Read,
|
||||
website: Some("https://github.com/Aaronepower/mammut"),
|
||||
};
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user