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},
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
);
}