DORK is a Google Apps Script-based bot for GroupMe designed to help group admins manage unruly members. Unlike standard moderation bots that just kick users immediately, DORK enforces a "Silence" protocol with a three-strike system.
- Strike System: Silenced users are warned when they speak.
- Auto-Kick: After 3 violations (strikes), the user is automatically removed from the group.
- Admin Protection: The bot will refuse to silence Group Owners or Admins.
- Multi-Group Support: One script deployment can manage multiple groups independently.
- Web-Based Setup: Includes a professional UI to select which group to deploy the bot to.
- Smart Targeting: target users via
@mentionor by typing their exact nickname.
- A Google Account (to host the script).
- A GroupMe Account.
- Access to the GroupMe Developers Portal.
- Go to script.google.com and create a New Project.
- Create the following 4 files in the editor and paste the code provided in this project:
Code.gs(Main bot logic)Setup.gs(Setup wizard logic)index.html(Dashboard UI)no-token.html(Landing page UI)
- Click Deploy > New Deployment.
- Select type: Web App.
- Description: "DORK Bot v1".
- Execute as: Me (your email).
- Who has access: Anyone (This is critical so GroupMe can send webhooks to it).
- Click Deploy.
- Copy the "Web App URL" (it ends in
/exec). Keep this safe.
- Log in to dev.groupme.com.
- Click Applications > Create Application.
- Callback URL: Paste the Web App URL you copied in Phase 1.
- Fill in the other details (Title, Description, etc.) and save.
- Copy the Client ID generated for your new application.
- Go back to your Google Script editor.
- Open
Setup.gs. - Find the line
template.oauthUrl = "YOUR_FULL_OAUTH_URL_HERE";. - Replace the placeholder with your specific OAuth link:
template.oauthUrl = "https://oauth.groupme.com/oauth/authorize?client_id=YOUR_CLIENT_ID_HERE";
- Save the file.
- Deploy > Manage Deployments > Edit (Pencil icon) > New Version > Deploy. (You must update the deployment whenever you change HTML/Setup code).
- Open your Web App URL in a browser.
- You will see the "Welcome to DORK" landing page.
- Click Authorize with GroupMe.
- Log in/Approve the application. GroupMe will redirect you back to your script with an
access_token. - The Dashboard will load, searching for groups where you are an Owner or Admin.
- Select a group from the dropdown and click Deploy DORK to Group.
- The script will automatically:
- Register the bot with GroupMe.
- Save the credentials securely in the script properties.
All commands are case-insensitive.
Restricts a user. If they speak, they get a strike.
- Syntax:
dork silence @Userordork silence UserNickname - Example:
dork silence @John Doe
Removes restrictions and resets strikes.
- Syntax:
dork unsilence @User - Example:
dork unsilence @John Doe
Shows a list of all currently silenced users and their strike counts.
- Syntax:
dork show silenced
- Database: The bot uses Google Apps Script
PropertiesServiceto store data.- Config: Stores Access Tokens/Bot IDs mapped by Group ID.
- State: Stores silenced users, mapped by Group ID -> User ID.
- Rate Limits: The bot handles standard text messages. Do not use this for high-frequency spam groups as Google Apps Script has daily quota limits (e.g., URL Fetch calls).
- Security: The setup process filters groups to ensure the bot is only installed where the user has administrative privileges.
- "You do not have permission...": Ensure you are the Owner or an Admin of the group in GroupMe.
- Bot doesn't reply: Ensure you deployed the script as "Anyone" so the webhook is accessible.
- User not kicked: The bot cannot kick Admins or Owners. Ensure the bot creator (you) has permissions to kick the target user.