A Discord assistant for short answers, web lookup, and image generation. Supports slash commands, direct-message triggers, and localization.
- Features
- Requirements
- Setup
- Usage
- Development
- Testing
- Troubleshooting
- Security
- Configuration
- Operations
- Commands
- Events
- Intents and permissions
- Support
- Links
- License
Ask provides answers, web lookup, and image generation through Discord. See the user guides for setup and request details.
Use Node.js 26 or later and npm 12 or later. Provide a Discord application and an OpenAI API key.
Follow the setup guide to configure Discord, set environment values, and start Ask.
Read the user guides for commands, configuration, and deployment. Read release notes for release history.
Read AGENTS.md, the documentation index, and the specifications index before changing files.
Run npm test for aggregate validation. CI installs dependencies with npm ci and runs npm test.
Use the troubleshooting guide to check credentials, Discord access, and provider errors.
Keep Discord and OpenAI credentials in an untracked .env file or an approved secret store. Do not share tokens or private message content.
Set DISCORD_CLIENT_ID, DISCORD_TOKEN, and OPENAI_API_KEY. See the configuration guide.
Run node bin/ask.mjs to start Ask locally. The GHCR image packages Ask for container use. The repository workflow builds on ubuntu-latest and leaves the build platform unset, so Docker uses the runner default.
Package settings control image access. Pull an approved version or deploy by its recorded SHA-256 digest. Publication does not deploy the bot. See the deployment guide for container commands and shutdown behavior.
Use /ask with a required question or prompt. Use /help or !help for localized help. See the command guide.
The bot handles command interactions, messages, readiness, warnings, errors, debug events, and invalidation. It ignores bot messages and unrelated server messages.
The bot requests the Guilds, GuildMessages, MessageContent, and DirectMessages intents. Enable Message Content in the Discord Developer Portal. Grant View Channels, Send Messages, and Read Message History. Do not grant administrator access. Supported locales are bg, cs, da, de, el, en-GB, en-US, es-419, es-ES, fi, fr, hi, hr, hu, id, it, ja, ko, lt, nl, no, pl, pt-BR, ro, ru, sv-SE, th, tr, uk, vi, zh-CN, and zh-TW.
For help, questions, or to chat with the author and community, visit:


