eleksir 1567fbe0db New logging, handle bot quote in groups, newcommer greets reworked
+ More sane and verbose logging
* Newcommer greet now should now mention newcommer
+ If someone in group quote bot's phrase, bot should answer
* Move some subs related to framework to telegramlib.pm
* Handle (log only for now) sent media - documents, stickers, photos in public chats (voice, audio, video still unhandled)
2020-09-26 21:36:37 +03:00
2020-09-19 14:57:05 +03:00

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 "";
 }
Description
No description provided
Readme 674 KiB
Languages
Perl 99.9%
Shell 0.1%