43 lines
929 B
Perl
43 lines
929 B
Perl
#!/usr/bin/env perl
|
|
use 5.010;
|
|
use strict;
|
|
use warnings;
|
|
use Mastodon::Client;
|
|
use YAML::Tiny;
|
|
use IO::Prompt;
|
|
use JSON::Tiny qw/encode_json/;
|
|
|
|
my $inst = prompt("Instance hostname (e.g. mastodon.social): ")->{value};
|
|
|
|
my $masto = new Mastodon::Client (
|
|
instance => $inst,
|
|
name => "lobstertoot",
|
|
website => "https://git.fuwafuwa.moe/albino/lobstertoot",
|
|
scopes => ["write"],
|
|
coerce_entities => 1,
|
|
);
|
|
|
|
$masto->register();
|
|
|
|
say STDERR "Authorize your mastodon account at " . $masto->authorization_url . " and enter the access code here.";
|
|
my $acode = prompt("Access code: ")->{value};
|
|
|
|
$masto->authorize(
|
|
access_code => $acode,
|
|
);
|
|
|
|
say encode_json(
|
|
{
|
|
masto => {
|
|
instance => $inst,
|
|
client_id => $masto->client_id,
|
|
client_secret => $masto->client_secret,
|
|
access_token => $masto->access_token,
|
|
},
|
|
lobsters => {
|
|
url => "https://lobste.rs",
|
|
storiesdone => [],
|
|
},
|
|
}
|
|
);
|