diff --git a/src/mastodon.rs b/src/mastodon.rs index 7bd7d0a..84d4dea 100644 --- a/src/mastodon.rs +++ b/src/mastodon.rs @@ -4,7 +4,7 @@ use egg_mode::{ entities::{MentionEntity, UrlEntity}, tweet::Tweet, }; -use elefren::{apps::App, prelude::*, scopes::Scopes}; +use elefren::{apps::App, prelude::*, scopes::Read, scopes::Scopes, scopes::Write}; use html_escape::decode_html_entities; use std::{borrow::Cow, collections::HashMap, io::stdin}; @@ -74,7 +74,12 @@ pub fn register(host: &str, screen_name: &str) { builder .client_name(Cow::from(env!("CARGO_PKG_NAME").to_string())) .redirect_uris(Cow::from("urn:ietf:wg:oauth:2.0:oob".to_string())) - .scopes(Scopes::write_all()) + .scopes( + Scopes::write(Write::Accounts) + .and(Scopes::write(Write::Media)) + .and(Scopes::write(Write::Statuses)) + .and(Scopes::read(Read::Accounts)), + ) .website(Cow::from( "https://framagit.org/veretcle/scootaloo".to_string(), )); @@ -103,13 +108,19 @@ pub fn register(host: &str, screen_name: &str) { let toml = toml::to_string(&*mastodon).unwrap(); + let current_account = mastodon + .verify_credentials() + .expect("Unable to access account information!"); + println!( "Please insert the following block at the end of your configuration file: [mastodon.{}] twitter_screen_name = \"{}\" +mastodon_screen_name = \"{}\" {}", screen_name.to_lowercase(), screen_name, + current_account.username, toml ); }