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.
Next steps
API Reference
Explore the full API specification.
Slack Integration
See the Slack integration for workspace chat protection.
Telegram Integration
See the Telegram integration for group chat protection.
Roblox Integration
See the Roblox integration for in-game chat protection.