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.
I’m sorry I don’t speak webshit
Jump in the discussion.
No email address required.
Perl isn't webshit r-slur, it's not even the shit of the web that makes it shit
Jump in the discussion.
No email address required.
Jump in the discussion.
No email address required.
More options
Context
More options
Context
More options
Context