- TypeScript 99.8%
- Dockerfile 0.2%
|
|
||
|---|---|---|
| .docker | ||
| patches | ||
| scripts | ||
| src | ||
| tests/utils | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .prettierrc | ||
| drizzle.config.ts | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| PRIVACY-POLICY.md | ||
| README.md | ||
| TERMS-OF-SERVICE.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
Wali – Dune Awakening Database Discord bot
Wali brings the dune.gaming.tools database to Discord. Recent updates bundle an embedded PostgreSQL database and trim the configuration to only the essentials.
Features
- Slash commands to search items, buildings, skills and more.
- Fast responses with caching.
Installation
- Clone the repository
git clone https://github.com/glazk0/wali.git - Install dependencies
npm install - Copy the example config and fill in the values
cp .env.example .env - Build the bot
npm run build - Start the bot
npm start
Environment variables
| Variable | Description |
|---|---|
AI_CHANNEL_ID |
Optional: Discord channel ID for LLM responses |
DISCORD_BOT_TOKEN |
Discord bot token |
DISCORD_CLIENT_ID |
Application client ID |
DISCORD_GUILD_ID |
Optional: register commands to a single guild during development |
POLLINATIONS_TOKEN |
Optional: token used when requesting data from Pollinations |
SECRET_TOKEN |
Optional: token used when requesting data from dune.gaming.tools |
The bot starts an embedded PostgreSQL instance automatically. No external database or AWS configuration is required.
AI channel workflow
When AI_CHANNEL_ID is set, Wali watches that Discord text channel for regular chat
messages. Each message is forwarded to Pollinations along
with a set of database tools. Pollinations may call these tools (which in turn use
api.get to query dune.gaming.tools) and then responds
back into the same channel.
Pollinations requirements
POLLINATIONS_TOKENis optional but recommended for higher request limits.- Outbound access to
https://text.pollinations.aimust be allowed.
Manual testing
- Create a development guild and note the ID of a test channel.
- Add
AI_CHANNEL_ID=<channelId>and optionallyPOLLINATIONS_TOKEN=<token>to.env. - Run the bot with
npm run dev. - Send a message such as
What does a Windtrap cost?in the configured channel. - A Polli reply should appear with information fetched via the tools layer. Check the process logs if no response arrives.
Self-hosting
Using the publicly hosted bot is recommended. Self-hosting is at your own risk and monetisation is not permitted.
Contributing
Issues and pull requests are welcome.
License
Distributed under the MIT with Additional Restrictions License. See LICENSE for more information.