use strict;
use warnings;
use experimental 'smartmatch';
use Data::Dumper;
use JSON::XS;
use LWP::UserAgent;
use HTTP::Request;
my $json = JSON::XS->new->utf8->allow_nonref;
my $request = HTTP::Request->new(GET => 'https://rdrama.net/marsey_list.json');
my $ua = LWP::UserAgent->new;
$ua->agent("Mozillacels stay losing");
my $response = $ua->request($request);
die "Failed to fetch" unless defined $response;
sub contents_to_file($$)
{
my ($filename, $content) = @_;
open(my $fh, '>', $filename) or die "Couldn't open file $filename: $!";
print $fh $$content;
close $fh;
}
# Get emojis
my $emojos = $json->decode($response->content);
my %pack = (
'files' => {},
# empty?
pack => {},
files_count => 0,
);
# Case sensitive: 'Marsey', 'Misc', 'Wojak', 'Classic', 'Tay', 'Wolf', 'Marsey Alphabet', 'Platy', 'Marsey Flags', 'Rage', 'Flags', 'Sets'
my @categories = ('Marsey');
foreach my $emojo (@{$emojos})
{
if ($emojo->{class} ~~ @categories)
{
$pack{'files'}->{$emojo->{name}} = $emojo->{name} . '.webp';
}
}
$pack{files_count} = keys %{$pack{files}};
my $output = $json->encode(\%pack);
# Write content to file
contents_to_file 'pack.json', \$output;
I wrote it because I setup an Apache Reverse Proxy where I created a "fake" emoji-pack, where all the requests where Pleroma expects them just redirect to /e/{emojiname}.webp here
Just felt like sharing, incase any of you want to read Perl
It allows me to steal emojis here without manually submitting them all like I was before.
Jump in the discussion.
No email address required.
perl my balls lmao
Jump in the discussion.
No email address required.
More options
Context