lenabot
v1.11.0
Published
a trigger bot for Telegram chats configurable by admins
Downloads
29
Maintainers
Readme
LenaBot
Всегда ненавидела эту суку!
A Telegram bot who saves messages from group chats and sends them binding to triggers.
Commands
/on <text>
– create a trigger on text/off <number>
– delete the trigger by number/onjoin
– create a trigger on someone joins the chat/onleft
– create a trigger on someone lefts the chat/list
– get all active triggers/trigger <number>
– invoke active trigger by number forcibly/settings
– configure the chat/edit <number>
– configure the trigger by number
Supported message types
- 📃 text
- 📹 animation
- 🎧 audio
- 🎲 dice
- 🏷️ document
- 🌐 location
- 🖼️ photo
- 📊 poll (not quiz)
- 😽 sticker
- 🎬 video
- 🎥 videonote
- 🎤 voice
TLDR
- Create and setup a bot via @BotFather
- Install PostgreSQL if you didnt
- Create an empty database 'lena' in PSQL owned to your user
- Install npm & node.js
npm i lenabot
export TOKEN=<TOKEN_FROM_BOTFATHER>
npx lenabot
- Add your bot to a group chat and add triggers with commands above replying the messages to be resend
- To stop the bot type to console with it
stop
and press enter
Preparing
- Create your bot via @BotFather, it will guide you on that
- The bot uses DBMS PostgreSQL. Install if you dont have it
- Create a database in PSQL for you bot
- The bot works using node.js. Install it
Installation
npm i lenabot
Launch
The bot requires some environment variables. Here is a list of them:TOKEN
– bot token from @BotFatherDBURI
– URI-string for connection to PSQL in format postgres://<USER>:<PASSWORD>@<HOST>/<DATABASE>:<PORT>
Instead of the environment you can set launch parameters in a file config.toml
.
After setup the environment run
npx lenabot
If everything went well, you will see something like this in the console:
> [email protected] start
> node index.js
Bot @eslenabot started.
> _
Control
After the launch, there are available commands stop
& reload
for safe stop and restart respectively.
Usage
- Send the message with one of the supported type
- Reply to it with a command
/on
+ the string on which you wanted to set the trigger (e.g./on !rules
) - If success, bot will answer that the trigger has been added, as well as offer to edit it by an inline button
- Now, when a new message containing that string, bot will send a message that duplicates the one you replied to with the
/on
command - To trigger when someone enters/leaves the chat, send a command
/onjoin
//onleft
without parameters replying to the message - If the message is text or includes caption, it can contain some patterns that replaced with the corresponding values:
{chat}
– title of the chat{chatid}
– Telegram ID of the chat{chatname}
– username of the chat, if there is{name}
– first name of the triggering message sender{fullname}
– first name and last name of the sender{mention}
– first name of the sender linked to them{username}
– username of the sender if there is (without @){user}
– username with @ or linked first name to the sender{userid}
– Telegram ID of the sender{date}
– localized current date without time{time}
– localized current time{datetime}
– localized current date with time{message}
– text of the triggering message{messid}
– ID of the triggering message
Support
If something doesnt work, or you just wanna talk to the bot creator or his mom, write @arelive. There also accepted kicks from volunteer project managers.