- Remove Encode module from cpanfile and telegrambot.pm + Add Mojo::IOLoop, Mojo::UserAgent, IO::Socket::SSL * Sort cpanfile * Bump version Teapot::Bot 0.021 -> 0.022 * Add aleesa-telegram-bot.pid to .gitignore
Aleesa-Telegram-bot - Simple Telegram chatty bot
About
It is based on Perl modules Telegram::Bot and Hailo as conversation generator.
Config located in data/config.json, sample config provided as data/sample_config.json.
Bot can be run via bin/aleesa-telegam-bot and acts as daemon.
Installation
In order to run this application, you need to "bootstrap" it - download and build all required dependencies and libraries.
You'll need "Development Tools" or similar group of packages, perl, perl-devel, perl-local-lib, perl-app-cpanm, sqlite-devel, zlib-devel, openssl-devel, libdb4-devel (Berkeley DB devel), make.
After installng required dependencies it is possible to run:
bash bootstrap.sh
and all libraries should be downloaded, built, tested and installed.
N.B.
If bot is unable to post to channel due to limited permissions, it will die. It is possible to change this behavior by patching Telegram/Bot/Brain.pm:
--- Brain.pm 2019-07-01 04:04:17.000000000 +0300
+++ Brain.pm.new 2020-09-05 22:25:20.941373455 +0300
@@ -237,8 +237,9 @@
my $res = $self->ua->post($url, form => $form_args)->result;
if ($res->is_success) { return $res->json->{result}; }
- elsif ($res->is_error) { die "Failed to post: " . $res->message; }
- else { die "Not sure what went wrong"; }
+ elsif ($res->is_error) { warn "Failed to post: " . $res->message; }
+ else { warn "Not sure what went wrong"; }
+ return "";
}