https://github.com/dodopayments/dodo-discord-bot
Dodo Discord bot that automates introductions for new members.
https://github.com/dodopayments/dodo-discord-bot
bot discord dodopayments
Last synced: 4 months ago
JSON representation
Dodo Discord bot that automates introductions for new members.
- Host: GitHub
- URL: https://github.com/dodopayments/dodo-discord-bot
- Owner: dodopayments
- Created: 2025-10-02T12:47:46.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-01-12T14:03:55.000Z (6 months ago)
- Last Synced: 2026-01-12T20:53:08.481Z (6 months ago)
- Topics: bot, discord, dodopayments
- Language: TypeScript
- Homepage: https://discord.gg/bYqAp4ayYh
- Size: 162 KB
- Stars: 2
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dodo Discord Bot
A TypeScript Discord bot that automates introductions for new members. Users complete introduction and "working on" forms to earn the "Dodo Builder" role.
## Features
- Auto-sends introduction prompts to new members
- Dual forms: introduction + work project sharing
- Awards "Dodo Builder" role upon completion
- Creates public threads for work discussions
- Moderator tools: `/ping-intro` and `/clear-dm` commands
## Quick Start
### 1. Setup Discord Bot
- Create bot in [Discord Developer Portal](https://discord.com/developers/applications)
- Enable intents: Server Members, Message Content, Direct Messages
- Ensure bot role is higher than "Dodo Builder" role
### 2. Install & Configure
```bash
git clone
cd dodo-discord-bot
npm install
cp .env.example .env
# Edit .env with your Discord credentials
```
### 3. Run
```bash
npm run dev # Development
npm start # Production
```
## Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| `DISCORD_TOKEN` | Bot token | ✅ |
| `CLIENT_ID` | Bot client ID | ✅ |
| `INTRO_CHANNEL_ID` | #introductions channel | ✅ |
| `WORKING_ON_CHANNEL_ID` | #working-on channel | ✅ |
| `MOD_ROLE_ID` | Moderator role ID | ✅ |
| `DODO_BUILDER_ROLE_ID` | Builder role ID | ✅ |
| `GUILD_ID` | Guild ID (optional) | ❌ |
## Commands
- `/ping-intro [user]` - Trigger intro flow (mods only)
- `/clear-dm` - Clear bot DMs (only for the user who runs it)
- `/move-message [message id]` - Move a message to the #get-help channel (mods only)
- `!move-message` - Move a message to the #get-help channel (mods only, you will need to reply to the message you want to move)
- `/bot-answer [message id]` - Answer a question in any text channel (mods only)
- `!bot-answer` - Answer a question in any text channel (mods only, you will need to reply to the message you want to answer)
## Docker
```bash
docker build -t dodo-discord-bot .
docker run --env-file .env dodo-discord-bot
```
## Development
```bash
npm run build # Compile TypeScript
npm run dev # Development with auto-reload
```
## Troubleshooting
- **Bot not responding**: Check env vars and permissions
- **DMs not sent**: Users need DMs enabled from server members
- **Commands not working**: Verify bot permissions and role hierarchy