A Discord bot that answers common support questions about the Intro Skipper Jellyfin plugin using AI.
bun install- Go to the Discord Developer Portal
- Create a new application and add a bot
In the Developer Portal under Bot → Privileged Gateway Intents, enable:
- ✅ Server Members Intent — Required to check member roles (e.g., Developer role detection)
- ✅ Message Content Intent — Required to read message content in the support channel
Use the following URL to invite the bot to your server (replace YOUR_CLIENT_ID):
https://discord.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=2147560512&scope=bot%20applications.commands
Permissions Integer: 2147560512
This includes the following permissions:
| Permission | Purpose |
|---|---|
| View Channels | Read channel information |
| Send Messages | Send bot responses |
| Manage Messages | Remove ❓ reactions after processing in support channel |
| Read Message History | Fetch referenced messages for reply detection |
| Add Reactions | Add 👍/👎 rating reactions to responses |
| Use Application Commands | Support slash commands |
Create a .env file with the following:
# Discord Bot (from https://discord.com/developers/applications)
DISCORD_TOKEN=your_bot_token
DISCORD_CLIENT_ID=your_application_id
# Optional: For faster command registration during development
DISCORD_GUILD_ID=your_test_server_id
# Kilo Code API Key
KILO_API_KEY=your_kilo_api_key
# Optional: Organization ID for Kilo Code API
KILO_ORGID=your_organization_idbun run deploy-commandsbun run dev # Development (auto-reload)
bun run start # Production| Command | Description |
|---|---|
/ask <question> |
Ask a question about Intro Skipper |
/versions |
Show supported Jellyfin versions |
/model |
View current LLM model and available models |
/model set:<model_id> |
Change the LLM model used for responses |
/help |
Show help and useful links |
Edit faq.md to add or modify questions and answers. The bot reads this file at startup and uses AI to match user questions to relevant FAQ entries.