package TgMagicPdf; use v5.38.2; use strict; use warnings; use feature 'signatures'; use Moo; use Path::Tiny; use YAML::PP; use TgMagicPdf::Telegram; sub config($self) { if (!-f $self->config_file) { die 'No such config file.'; } my $ypp = YAML::PP->new; my @documents = $ypp->load_file($self->config_file); if (!scalar @documents) { die "Unable to parse @{[$self->config_file->absolute]}."; } return $documents[0]; } sub config_file($self) { return $self->root->child('config.yml'); } sub root($self) { return path(__FILE__)->parent->parent; } sub run { TgMagicPdf::Telegram->new->run; Mojo::IOLoop->start; } 1;