Add to Discord
Invite the hosted bot to your server
Landing Page
Features overview and pricing
Self-Host
Clone and deploy on your own infrastructure
Installation
Hosted bot (recommended)
Click the Add to Discord link above to invite the bot. No code required — configure everything with slash commands. The bot needs the following permissions:- Send Messages
- Embed Links
- Read Message History
- Manage Messages
- Moderate Members
Self-host
Quick start
Configure your API key
Run
/tuteliq setup and enter your Tuteliq API key (starts with tq_). The key is encrypted at rest with AES-256.Add channels to monitor
Run
/tuteliq monitor add #channel for each text channel you want to protect.How it works
Messages in monitored channels flow through a multi-stage pipeline:- Collect — Each message is added to a per-channel sliding window buffer.
- Batch analyze — The buffer is periodically flushed and sent to the Tuteliq API, which detects bullying, grooming, unsafe content, and emotional distress.
- Alert — When a risk score exceeds your sensitivity threshold, a rich embed is posted to the alert channel with severity, risk score, message excerpt, and recommended action.
- Act — Admins take action directly from the alert embed using interactive buttons.
Slash commands
All commands live under the/tuteliq prefix and require Administrator or Manage Server permission.
| Command | Description |
|---|---|
/tuteliq setup | Configure the bot with your Tuteliq API key |
/tuteliq monitor add #channel | Start monitoring a text channel |
/tuteliq monitor remove #channel | Stop monitoring a channel |
/tuteliq monitor list | List all monitored channels |
/tuteliq alerts channel #channel | Set the channel for safety alerts |
/tuteliq alerts dm enable/disable | Toggle admin DM notifications for high/critical threats |
/tuteliq alerts test | Send a test alert to verify setup |
/tuteliq sensitivity set <level> | Set detection sensitivity |
/tuteliq sensitivity view | View current sensitivity settings and thresholds |
/tuteliq status | View bot status, rate limits, and quota usage |
/tuteliq link | Generate a parent link code (expires in 15 minutes) |
/tuteliq reset | Remove all Tuteliq configuration from the server |
Alert actions
When a threat is detected, the alert embed includes interactive buttons:| Action | Effect |
|---|---|
| Delete Message | Removes the flagged message from the channel |
| Timeout User | Temporarily mutes the user server-wide |
| View Full Report | Opens the detailed analysis with rationale and context |
| Dismiss | Closes the alert without action |
Sensitivity levels
| Level | Threshold | Best for |
|---|---|---|
low | 70%+ | Minimal alerts, only clear violations |
medium | 50%+ | Balanced — good default for most servers |
high | 30%+ | Stricter monitoring, catches more subtle threats |
maximum | 10%+ | Maximum protection — useful for testing or high-risk communities |
/tuteliq sensitivity set <level>.
Parent linking
The/tuteliq link command generates a one-time code that parents can enter in the Tuteliq mobile app to receive notifications when their child is involved in a flagged conversation. Link codes expire after 15 minutes.
Self-hosting
Requirements
- Node.js 20+
- Discord bot application with Message Content Intent enabled
- Tuteliq API key
- Firebase project with Firestore enabled
- Firebase service account key (JSON)
Environment variables
Docker
Cloud Run
Health check
The bot exposes a health endpoint atGET /health on the configured port (default 8080). It returns 200 when the bot is connected to Discord.