A powerful Discord bot that monitors Google Form applications (via Sheets API)
and posts them to your server with interactive Accept/Reject buttons.
Originally built as NewModWatcher for the NewMod project,
it is now fully generalized for any community or project. โจ
- ๐ฅ Pulls new applications from Google Sheets (connected to Google Forms)
- ๐งพ Parses all responses and posts a beautiful embed
- โ Accept/Reject buttons with optional role assignment
- ๐ฌ Sends a DM on Accept or Reject (optional)
- ๐ Supports multiple sheet types: Moderator, Beta, Team, or custom forms
- โฑ๏ธ Automatically checks every 10 seconds
- ๐ ๏ธ Slash command to manually recheck applications:
/check
Create a .env file in the root of the project with the following variables:
# Google Service Account
GOOGLE_SERVICE_ACCOUNT_EMAIL=
GOOGLE_PRIVATE_KEY=
# Discord Bot
DISCORD_TOKEN=
DISCORD_CHANNEL_ID=
# Optional
STAFF_PING_USER_ID= # Discord ID to ping when new application arrives
ACCEPTED_ROLE_ID= # Role ID to assign when someone is accepted
DM_ON_REJECT=true # Set to false to disable DM on rejection
# Sheet Configs (connected to your Google Forms)
SPREADSHEET_ID_MODERATOR=
SPREADSHEET_ID_BETA=
SPREADSHEET_ID_TEAM=
# Optional: Only change if you renamed your sheet tab (default is 'Form Responses 1')
SHEET_NAME_MODERATOR=Form Responses 1
SHEET_NAME_BETA=Form Responses 1
SHEET_NAME_TEAM=Form Responses 1