尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
A Telegram bot that helps mention all members in a group chat. Built with Python and Pyrogram.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A Telegram bot that helps mention all members in a group chat. Built with Python and Pyrogram.
/all command or @all keyword@all to admins and allowed users, or mention only a chosen list of peoplegit clone https://github.com/VirusAlex/tg-mention-all.git
cd tg-mention-all
.env file from example:cp .env.example .env
.env file with your credentials:TELEGRAM_API_ID=your_api_id
TELEGRAM_API_HASH=your_api_hash
TELEGRAM_BOT_TOKEN=your_bot_token
OWNER_USERNAME=@your_username
docker-compose up -d
/all or @all - Mention all members in the group/exclude - Exclude user from @all mentions (admin only)/include - Include previously excluded user (admin only)/excluded - Show list of excluded users (admin only)/info - Show help messageSettings (admin only):
/settings - Show this chat's settings and lists/whocan admins / /whocan everyone - Who can use @all: only admins and allowed users, or every member (default)/allow, /disallow - Add or remove a user who may use @all when /whocan admins is on/mentionmode list / /mentionmode all - Mention only the people on the chat's mention list, or all members except excluded ones (default)Every user command accepts a reply to the user's message or one or more @usernames, e.g. /include @alice @bob.
/all or @all (reply to a message) to mention all members/exclude and /include to manage mentionsAdministrators can exclude users in two ways:
/exclude/exclude @usernameTo add previously excluded users back:
/include/include @usernameIn big groups you may not want every member to be able to ping everyone:
/whocan admins - from now on only admins can use @all / /all; others get a reply that they don't have permission/allow @username - also let a specific non-admin use it (/disallow @username to undo)Instead of all members, @all can mention a fixed list:
/mentionmode list/include @alice @bob adds people to the list, /exclude @alice removes them/mentionmode all switches back; the list and the excluded users are both keptChats that never change these settings keep the default behaviour.
The bot is containerized using Docker and includes:
A ready-to-use image is published to GitHub Container Registry on every push to master:
ghcr.io/virusalex/tg-mention-all:latest
The bot needs a Redis instance, so run both on a shared network:
docker network create mention_all_bot
docker run -d --name mention_all_bot_redis \
--network mention_all_bot --restart unless-stopped \
redis:alpine redis-server --appendonly yes
docker run -d --name mention_all_bot \
--network mention_all_bot --restart unless-stopped \
-v mention_all_bot_session:/data \
-e TELEGRAM_API_ID=your_api_id \
-e TELEGRAM_API_HASH=your_api_hash \
-e TELEGRAM_BOT_TOKEN=your_bot_token \
-e OWNER_USERNAME=@your_username \
-e REDIS_HOST=mention_all_bot_redis \
ghcr.io/virusalex/tg-mention-all:latest
The -v mention_all_bot_session:/data volume keeps the Pyrogram session (auth key)
across restarts. The session file is never baked into the image or committed to git.
For most setups Docker Compose (above) is simpler since it wires up Redis for you.
Start the bot:
docker-compose up -d
View logs:
docker-compose logs -f bot
Stop the bot:
docker-compose down
docker-compose logs -f
docker-compose ps
Feel free to open issues and submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.