feat: add mastodon_screen_name automatically/revise necessary permissions

This commit is contained in:
VC
2022-11-21 10:03:03 +01:00
parent 18e8b9d306
commit 87a7574d42

View File

@@ -4,7 +4,7 @@ use egg_mode::{
entities::{MentionEntity, UrlEntity}, entities::{MentionEntity, UrlEntity},
tweet::Tweet, 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 html_escape::decode_html_entities;
use std::{borrow::Cow, collections::HashMap, io::stdin}; use std::{borrow::Cow, collections::HashMap, io::stdin};
@@ -74,7 +74,12 @@ pub fn register(host: &str, screen_name: &str) {
builder builder
.client_name(Cow::from(env!("CARGO_PKG_NAME").to_string())) .client_name(Cow::from(env!("CARGO_PKG_NAME").to_string()))
.redirect_uris(Cow::from("urn:ietf:wg:oauth:2.0:oob".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( .website(Cow::from(
"https://framagit.org/veretcle/scootaloo".to_string(), "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 toml = toml::to_string(&*mastodon).unwrap();
let current_account = mastodon
.verify_credentials()
.expect("Unable to access account information!");
println!( println!(
"Please insert the following block at the end of your configuration file: "Please insert the following block at the end of your configuration file:
[mastodon.{}] [mastodon.{}]
twitter_screen_name = \"{}\" twitter_screen_name = \"{}\"
mastodon_screen_name = \"{}\"
{}", {}",
screen_name.to_lowercase(), screen_name.to_lowercase(),
screen_name, screen_name,
current_account.username,
toml toml
); );
} }