You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Wojciech Pawlik 7ea9f48e3f
Merge pull request #126 from C0rn3j/develop
1 week ago
.circleci Streamline CI 4 months ago
.vscode TSify 4 months ago
actions Add lrm 3 months ago
assets Localize logo file 2 years ago
bot Enable `handlerTimeout` 2 weeks ago
handlers Anonymize reporter 1 week ago
plugins Fix broken link 5 months ago
stores Add /permit, closes #72 2 months ago
typings Add adminLog chat, fixes #96 4 months ago
utils Misc 2 months ago
.editorconfig Streamline CI 4 months ago
.eslintrc.json Add lrm 3 months ago
.gitignore Add isMaster util function 2 years ago
.mailmap Remove (slow) precommit 5 months ago
Dockerfile Removed installation of git 4 months ago
LICENSE changed license to AGPL-3.0 3 years ago Add /permit, closes #72 2 months ago
example.config.js Type config file 6 months ago
index.js Revert "Add telegraf-throttler" 2 months ago
package-lock.json Revert "Add telegraf-throttler" 2 months ago
package.json Revert "Add telegraf-throttler" 2 months ago
tsconfig.json TSify 4 months ago

The Guard Bot

The Guard is a Telegram bot made to help admins manage their groups.

Initially created to moderate The Devs Network.

NOTE: The Guard is in beta phase; it has known issues, but it’s successfully being used in production

If you need help with using the Bot or setting it up, join our Support Chat.


You need Node.js (>= 12) to run this bot.

  1. Create a bot via @BotFather and grab a token.
  2. Clone this repository or download zip.
  3. Install dependencies via npm install.
  4. Copy example.config.js to config.js and edit it.
  5. Start the bot via npm start.

Setup with Docker

You need to have docker installed on your machine.

  1. Create a bot via @BotFather and grab a token.
  2. Clone this repository or download zip.
  3. Copy example.config.js to config.js and edit it.
  4. Run docker build -t the_guard_bot . to build image.
  5. Run docker run -v $(pwd)/data:/app/data --rm -itd the_guard_bot to start the bot.

Now you can add the bot as administrator to your groups.


  • Synchronized database across multiple groups.
  • Adding admins to the bot.
  • Auto-remove and warn channels and groups ads.
  • Kick bots added by users.
  • Warn and ban users to control the group.
  • Commands work with replying, mentioning and ID.
  • Removes commands and temporary bot messages.
  • Ability to create custom commands.
  • Supports plugins.

Overall, keeps the groups clean and healthy to use.


Command Role Available at Description
/admin Master Everywhere Makes the user admin in the bot and groups.
/unadmin Master Everywhere Demotes the user from admin list.
/leave <name\|id> Master Everywhere Make the bot to leave the group cleanly.
/hidegroup Master Groups Revoke invite link and hide the group from /groups list.
/showgroup Master Groups Make the group accessible via /groups list.
/del [reason] Admin Everywhere Deletes replied-to message.
/warn <reason> Admin Groups Warns the user.
/unwarn Admin Everywhere Removes the last warn from the user.
/nowarns Admin Everywhere Clears warns for the user.
/permit Admin Everywhere Permits the user to advertise once, within 24 hours.
/ban <reason> Admin Groups Bans the user from groups.
/unban Admin Everywhere Removes the user from ban list.
/user Admin Everywhere Shows the status of the user.
/addcommand <name> Admin In-Bot Create a custom command.
/removecommand <name> Admin In-Bot Remove a custom command.
/staff Everyone Everywhere Shows a list of admins.
/link Everyone Everywhere Shows the current group’s link.
/groups Everyone Everywhere Shows a list of groups which the bot is admin in.
/report Everyone Everywhere Reports the replied-to message to admins.
/commands Everyone In-Bot Shows a list of available commands.
/help | /start Everyone In-Bot How to use the bot.

All commands and actions are synchronized across all of the groups managed by the owner and they work with replying, mentioning or ID of a user.

If used by reply, /ban and /warn would remove the replied-to message.

The bot is still in beta phase so feel free to open issues and ask for features.


Important Note: Under the AGPL-3.0 license, if you’re running your own instance, you should add a link to the source (this repository) in your bot’s bio. If you’re modifying this source and making your own bot, you should link to the source of your own version of the bot according to the AGPL-3.0 license. Check LICENSE for more info.

The Guard icon is from Entypo+ by Daniel Bruce.