- A powerful antispam system with custom sensitivity for each group
- Multiple realms (admin groups)
- Recalcitrant to any kind of spamming (X/Y bots, name/photo changers, etc.)
- Global banning
- Broadcast to all groups
- Group and links
- Kick, ban and unban by reply
- Groups, ban and global ban list
- Logging anything that happens in a group
- Invitation by username
- Group administration via private messages
- Only mods, owner and admin can add bots in groups
- Arabic lock
- Chat list
- And more!
##Commands QuickGuard has several commands that are only usable at certain ranks.
| Command | Description |
|---|---|
| [#!/]id | Returns group/SuperGroup ID or user id in pm. |
| Command | Description |
|---|---|
| [#!/]help | Returns help text. |
| [#!/]superhelp | Returns SuperGroup help text. |
| [#!/]Chats | Returns public chats in a message(s). |
| [#!/]Chatlist | Returns public chats in a .txt document. |
| [#!/]join [GroupID] | Join a public chat by id |
#Moderator commands {#moderator_commands}
| Command | Description | Groups? | SuperGroups? |
|---|---|---|---|
| [#!/]info | Returns general info about the SuperGroup. | N | Y |
| [#!/]admins | Returns SuperGroup admins list. | N | Y |
| [#!/]modlist | Returns Moderator list. | Y | Y |
| [#!/]owner | Returns group/SuperGroup owner. Can be used by any user | Y | Y |
| [#!/]bots | Lists bots in SuperGroup. | N | Y |
| [#!/]who | Lists all users in group *SuperGroup returns .txt document list. | Y | Y |
| [#!/]wholist | Lists all users in group in .txt document. | Y | N |
| [#!/]block | Kicks a user from SuperGroup Adds user to blocked list. | N | Y |
| [#!/]kick | kicks user from group. | Y | N |
| [#!/]ban | Bans user from the group/SuperGroup. | Y | Y |
| [#!/]unban | Unbans user from group/SuperGroup. | Y | Y |
| [#!/]id [username | reply] | For userID's: !id @username (ONLY IN SuperSroups) or reply !id in any group. |
Y |
| [#!/]id from | Returns ID of user a message is forwarded from. | N | Y |
| [#!/]kickme | Kicks user from SuperGroup / In SuperGroup: Must be unblocked by owner or use #join by pm to return |
Y | Y |
| [#!/]setowner | Sets group/SuperGroup owner. | Y | Y |
| [#!/]promote | Promote a group/SuperGroup moderator. | Y | Y |
| [#!/]demote | Demote a group/SuperGroup moderator. | Y | Y |
| [#!/]setname | Set group/SuperGroup name. | Y | Y |
| [#!/]setphoto | Set group/SuperGroup photo. | Y | Y |
| [#!/]setrules | Set group/SuperGroup rules. | Y | Y |
| [#!/]setabout | Sets the about section in chat info(members list) | N | Y |
| [#!/]set about | Y | N | |
| [#!/]save [value] | Sets extra info for group/SuperGroup by value. | Y | Y |
| [#!/]get [value] | Returns extra info for group/SuperGroup by value. | Y | Y |
| [#!/]newlink | Generate a new group/SuperGroup link. | Y | Y |
| [#!/]setlink | Set a new SuperGroup link If bot is not creator. | N | Y |
| [#!/]link | Retrieves the group/SuperGroup link. | Y | Y |
| [#!/]rules | Retrieves the group/SuperGroup rules. | Y | Y |
| [#!/]lock setting | Lock group/SuperGroup settings. | Y | Y |
| [#!/]unlock setting | Unlock group/SuperGroup. | Y | Y |
| [#!/]mute mute | mute group message types. | Y | Y |
| [#!/]unmute mute | unmute group message types. | Y | Y |
| [#!/]setflood value | Set [value] as flood sensitivity. | Y | Y |
| [#!/]muteuser [username/id/reply] | Mute and unmute a user in chat. ***If a muted user posts a message, the message is deleted automaically only owners can mute | mods and owners can unmute*** | Y |
| [#!/]mutelist | Returns list of muted users in group/SuperGroup. | Y | Y |
| [#!/]muteslist | Returns mutes for group/SuperGroup. | Y | Y |
| [#!/]settings | Returns a list of group/SuperGroup settings. | Y | Y |
| [#!/]stats | Returns simple message statistics in a .txt document. | Y | Y |
| [#!/]statslist | Returns simple message statistics in a message. | Y | Y |
| [#!/]banlist | Returns group/SuperGroup banlist. | Y | Y |
| [#!/]clean [rules | about | modlist | mutelist] |
| [#!/]del | Deletes a message by reply. | N | Y |
| [#!/]res [username] | Returns users name and id by username. | Y | Y |
| [#!/]log | Returns group logs.In SuperGroups: Search for kick reasons using [#RTL | #spam | #lockmember] |
##Owner commands {#moderator_commands}
| Command | Description | groups/SuperGroups? | In private? |
|---|---|---|---|
| [#!/]muteuser [username/id/reply] | Mute and unmute a user in chat.If a muted user posts a message, the message is deleted automaically / only owners can mute / mods and owners can unmute | N | |
| [#!/]all | Returns all available information about current group. | Y | N |
| [#!/]all [GroupID] | Returns all available information about group by GroupID. | Y | N |
| [#!/]owners [GroupID] [kick | ban | unban] [UserID] | Kick, ban, or unban a user from a group by GroupID and UserID. |
| [#!/]owners [GroupID] clean [modlist | rules | about] | Clear options by GroupID. |
| [#!/]owners [GroupID] setflood [value] | Set flood for a group by GroupID and a value [1-5]. | N | Y |
| [#!/]owners [GroupID] lock [setting] | Lock settings for a group by GroupID. | N | Y |
| [#!/]owner [GroupID] unlock [setting] | Unlock settings for a group by GroupID. | N | Y |
| [#!/]owners [GroupID] new link | Create a new group link by GroupID. | N | Y |
| [#!/]owners [GroupID] get link | Returns group link by GroupID. | N | Y |
| [#!/]changename [GroupID] [name] | Change a group's name by GroupID. | N | Y |
| [#!/]changrules [GroupID] [rules] | Change a group's rules by GroupID. | N | Y |
| [#!/]changeabout [GroupID] [about] | Change a group's about by GroupID. | N | Y |
| [#!/]loggroup [GroupID] | get group logs by GroupID. | N | Y |
##Admin commands
| Command | Description | Groups? | SuperGroups? | Realms? |
|---|---|---|---|---|
| [#!/]creategroup [Name] | Create a group and add it to moderation.json. | Y | Y | Y |
| [#!/]createrealm [Name] | Create a realm and remove it from moderation.json. | Y | Y | Y |
| [#!/]add | Add a group to moderation.json. | Y | Y | Y |
| [#!/]rem | Remove a group from moderation.json. | Y | Y | Y |
| [#!/]rem [GroupID] | Remove a group from moderation by GroupID. | Y | Y | Y |
| [#!/]setname [Name] | Set realm name. | N | -- | Y |
| [#!/]setabout [group | sgroup] [GroupID] [Text] | Set a group's about text. | Y | Y |
| [#!/]setrules [group | sgroup] [GroupID] [Text] | Set a group's rules. | Y | Y |
| [#!/]lock [GroupID] [setting] | Lock a group's setting. | Y | Y | Y |
| [#!/]lock [GroupID] [setting] | Lock a group's setting. | Y | Y | Y |
| [#!/]unlock [GroupID] [setting] | Unlock a group's setting. | Y | Y | Y |
| [#!/]who | Get a list of members in group/realm. | Y | Y | Y |
| [#!/]wholist | Get a .txt document list of members in group/realm. | Y | Y | Y |
| [#!/]type | Get group type. | Y | Y | Y |
| [#!/]addlog | Add a Log_SuperGroup for GBan log. | N | Y | N |
| [#!/]remlog | Remove a Log_SuperGroup for GBan log. | N | Y | N |
| [#!/]kill chat [GroupID] | Kick all users and remove a group from moderation. | Y | Y | Y |
| [#!/]kill realm [RealmID] | Kick all users and remove a realm from moderation. | Y | Y | Y |
| [#!/]banall [id | usename] | Ban a user from all moderated groups where bot is an admin (#global_ban) | Y | Y |
| [#!/]unbanall [id | usename] | Unban a user from all moderated groups where bot is an admin (#global_ban) | Y | Y |
| [#!/]gbanlist [id | usename] | Returns a list of all globally banned user | Y | Y |
| [#!/]list groups | Returns a list of all groups. | Y | Y | Y |
| [#!/]list realms | Returns a list of all realms. | Y | Y | Y |
| [#!/]whitelist | User/Bot will not be subject to message checks. | Y | Y | Y |
| [#!/]support | Promote user to support. | Y | Y | Y |
| [#!/]-support | deomote user from support. | Y | Y | Y |
| [#!/]pm [UserID] | Sends a private message to a user by UserID. | Y | Y | Y |
| [#!/]import | Bot joins a group by GroupLink. | Y | Y | Y |
| [#!/]pmblock [UserID] | Block a user from bot private message and bot photo. | Y | Y | Y |
| [#!/]pmunblock [UserID] | Unblock a user from bot private message and bot photo. | Y | Y | Y |
| [#!/]markread [on | off] | Toggle bot to doubble check or not doubble check messages. | Y | Y |
| [#!/]setbotphoto | Set bot photo. | Y | Y | Y |
| [#!/]contactlist | Bot will generate a list of all it's contacts***and send it by private message of command sender | Y | Y | Y |
| [#!/]dialoglist | Bot will generate a list of all it's private message users***and send it by private message of command sender | Y | Y | Y |
| [#!/]delcontact | Delete bot contact. | Y | Y | Y |
| [#!/]reload | Reloads all bot plugins | Y | Y | Y |
| [#!/]updateid | Adds long_id to moderation data for groups. | Y | Y | Y |
| [#!/]!bc [group_id] [text] | This command will send text to [group_id] | Y | Y | Y |
| [#!/]leave | Bot will leave that group and can only be re-invited by an admin with bot phone number | Y | Y | Y |
| [#!/]mp | (Mod Promote) Set user as a mod of supergroup. TESTING | N | Y | N |
| [#!/]md | (Mod demote) Removes user from mod of supergroup. TESTING | N | Y | N |
| Command | Groups? | SuperGroups? | Realms? |
|---|---|---|---|
| [#!/]addadmin [id | username] | Set a user as bot admin. | Y |
| [#!/]removeadmin [id | username] | Remove a user from bot admin. | Y |
| Command | Groups? | SuperGroups? |
|---|---|---|
| #!/lock links | Y | Y |
| #!/lock flood | Y | Y |
| [#!/]setflood [5-20] | Y | Y |
| #!/lock bots | Y | N |
| #!/lock spam | Y | Y |
| #!/lock arabic | Y | Y |
| #!/lock member | Y | Y |
| #!/lock leave | Y | N |
| #!/lock RTL | Y | Y |
| #!/lock sticker | Y | Y |
| [#!/]public [yes | no] | Y |
| #!/lock strict | N | Y |
/lock [setting] and /unlock [setting]: sets allowed actions and content for groups/SuperGroups /lock strict in a supergroup, if strict is locked users will be kicked for violations of settings or mutes
/public [yes|no]: Set group/SuperGroup visibility in pm !chats or !chatlist commands.
| Command |
|---|
| [#!/]mute audio |
| [#!/]mute video |
| [#!/]mute photo |
| [#!/]mute documents |
| [#!/]mute gifs |
| [#!/]mute all |
Groups: If "muted" message type: user is kicked if message type is posted
**SuperGroups: A "muted" message type is auto-deleted if posted **
| Rank | Description |
|---|---|
| Banned | Cannot enter the group(s). |
| User | Default rank. |
| Moderator | Can set settings and kick/ban/unban users from a group. Can unmute users. |
| Owner | Can mute users. Can promote/demote moderators. Can set SuperGroup admins. |
| Support | Can globally unban users. Acts as owner of all groups. |
| Administrator | Can globally ban/unban users. Can promote/demote owners. |
| Sudo | Can add[#!/]remove groups. Can broadcast. Can promote/demote administrators. |
Each higher status inherits the privileges of the lower status.
**You can use "#", "!", or "/" to begin all commands
# Install dependencies.
# Tested on Ubuntu 14.04. For other OSs, check out https://github.com/yagop/telegram-bot/wiki/Installation
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev make unzip git redis-server g++ libjansson-dev libpython-dev expat libexpat1-dev
# Let's install the bot.
cd $HOME
git clone https://github.com/SbssTeam/Quickplus
cd QuickGuard
chmod +x launch.sh
./launch.sh install
./launch.sh # Enter a phone number & confirmation code.To install everything in one command (useful for VPS deployment) on Debian-based distros, use:
#https://github.com/yagop/telegram-bot/wiki/Installation
sudo apt-get update; sudo apt-get upgrade -y --force-yes; sudo apt-get dist-upgrade -y --force-yes; sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson* libpython-dev make unzip git redis-server g++ -y --force-yes && git clone https://github.com/SbssTeam/Quickplus && cd QuickGuard && chmod +x launch.sh && ./launch.sh install && ./launch.shAfter you run the bot for first time, send it !id. Get your ID and stop the bot.
Open ./data/config.lua and add your ID to the "sudo_users" section in the following format:
sudo_users = {
110626080,
103649648,
111020322,
0,
YourID
}
Then restart the bot.
Create a realm using the !createrealm command.
Creating a LOG SuperGroup -For GBan Log
1. Create a group using the `!creategroup` command.
2. Add two members or bots, then use `#Tosuper` to convert to a SuperSroup.
3. Use the `#addlog` command and your ***LOG SuperGroup(s)*** will be set.
Note: you can set multiple Log SuperGroups