Contents
Description
Everyone Mention Bot is simple, but useful telegram bot to gather group members attention.
You can create groups per chat to mention every user that joined the group by calling one command instead of mentioning them one by one.
Commands
Important: {group-name}
is not required, if not given, it will be set to default
.
/join
Joins the group (if group did not exist before, it will be created).
/join {group_name}
Examples
without group name
with group name
/leave
Leaves the group (and deletes if no members are left).
/leave {group_name}
Examples
without group name
with group name
/everyone
Mention everyone that joined requested group.
/everyone {group-name}
Examples
without group name
with group name
/groups
Will display available groups for this chat as well with members count.
/start
Start & Help message
Example command flow
Inline Mode
Using Inline Mode is recommended because policy of bots with privacy mode enabled (https://core.telegram.org/bots/faq#what-messages-will-my-bot-get) says that command trigger is sent (without mentioning the bot) only to the last mentioned bot. So if you do have multiple bots in current chat, I might not receive your command!
Usage
To use inline mode, type @everyone_mention_bot
in telegram message input or click on the Inline Mode
button from /start
command.
Type in your group name (you can leave it blank for default
group name), then click on one of the three following options.
Getting started
Requirements
docker-compose
in version1.25.0
docker
in version20.10.7
Installation
- copy the repository
git clone https://github.com/miloszowi/everyone-mention-telegram-bot.git
- copy environment files and fulfill empty values
cp .env.local .env
cp docker/config/app.env.local docker/config/app.env
cp docker/config/database.env.local docker/config/app.env
- start the project (
-d
flag will run containers in detached mode)
docker-compose up -d
Logs
docker/logs <container>
Env files
-
.env
MONGODB_INTERNAL_PORT
- Mongodb internal port (should be the same as declared inapp.env
)APP_INTERNAL_PORT
- App internal port (should be the same as declared inapp.env
)APP_EXPOSED_PORT
- App exposed port (if you are not using any reverse proxy it should be also the same as declared inapp.env
)
-
app.env
BOT_TOKEN
- your telegram bot token from BotFatherWEBHOOK_URL
- url for telegram webhooks (withour the bot token)PORT
- port used for initializing webhook & appMONGODB_DATABASE
- MongoDB database nameMONGODB_USERNAME
- MongoDB usernameMONGODB_PASSWORD
- MongoDB passwordMONGODB_HOSTNAME
- MongoDB host (defaultdatabase
- container name)MONGODB_PORT
- MongoDB port (default27017
- given in docker-compose configuration)BANNED_USERS
- user ids separated by comma that are not allowed to use the bot
-
database.env
MONGO_INITDB_ROOT_USERNAME
- conf fromapp.env
MONGO_INITDB_ROOT_PASSWORD
- conf fromapp.env
MONGO_INITDB_DATABASE
- conf fromapp.env
MONGODB_DATA_DIR
- directory to store MongoDB documents (inside a container)MONDODB_LOG_DIR
- path to logs storage