Telegram Bot, v1.3
Posted on

Telegram channel bot.
Improve a decor of voting keyboards.
Change Log
- support placeholders in a buttons text:
- for a number of votes;
- for a percent of votes;
- support a reverse of a buttons order;
- support emojis in a buttons text.
Features
- publication into a specified channel:
- sending of text messages;
- sending of photo messages;
- voting for messages:
- restrictions (via a remembering in an SQLite database):
- one vote per one user;
- possibility change an own vote (optionally, i.e. may be disabled);
- decor:
- voting by an inline keyboard;
- reverse of a buttons order (optionally);
- customizable a buttons text via individual templates;
- displaying of a voting result on buttons instead placeholders:
- number of votes;
- percent of votes;
- support emojis (with aliases) in a buttons text;
- restrictions (via a remembering in an SQLite database):
- working mode:
- run as a web service;
- control via the RESTful API;
- utility for a sending of requests to the API:
- making of a path to a photo absolute.
Usage
$ telegram-bot -v | --version
$ telegram-bot -h | --help
$ telegram-bot
Options:
-v,--version— show the version message and exit;-h,--help— show this help message and exit.
Environment variables:
TELEGRAM_BOT_TOKEN— Telegram API access token;TELEGRAM_BOT_CHANNEL— Telegram channel name;TELEGRAM_BOT_PORT— bot API port (default:4000);TELEGRAM_BOT_ACCEPT_TEXT— text of the accept button (default::thumbsup: #{number} (#{percents}%));TELEGRAM_BOT_REJECT_TEXT— text of the reject button (default::thumbsdown: #{number} (#{percents}%));TELEGRAM_BOT_DATABASE— path to the SQLite database file (default:./votes.db);TELEGRAM_BOT_CHANGEABLE_VOTE— flag denoting changeability of a vote (allowed:FALSEandTRUE; default:TRUE);TELEGRAM_BOT_SWAP_BUTTONS— flag denoting inversion of the order of the buttons (allowed:FALSEandTRUE; default:TRUE).
Environment variables can be specified in a .env config in the format:
NAME_1=value_1
NAME_2=value_2
...
See details about the format: https://github.com/motdotla/dotenv#rules.
A .env config will never modify any environment variables that have already been set.
Repository
Link: https://github.com/thewizardplusplus/telegram-bot/tree/v1.3.
Content: code.
License: GPL-3.0-or-later.
Copyrights
- road photo — Pixabay License, Copyright © 2013 Larisa-K, https://pixabay.com/en/road-asphalt-space-sky-clouds-220058/.