The most powerful AI assistant for Discord, powered by the π platform and endorsed by Elon (not sure which one, but one of them for sure).
- Node.js 22+
- pnpm
- A Discord application with a bot token
- An Anthropic API key
- A fal.ai API key
In the Developer Portal:
- New Application β name it whatever
- Bot tab β Reset Token β copy it
- Bot tab β Privileged Gateway Intents β enable Message Content Intent
- OAuth2 β URL Generator β scopes:
bot,applications.commandsβ permissions:Send Messages,Send Messages in Threads,Create Public Threads,Read Message History,Read Messages/View Channels,Attach Files - Open the generated URL to invite the bot to your server
To get IDs: right-click a server or channel in Discord β Copy ID (requires Developer Mode: Settings β Advanced β Developer Mode).
pnpm install
cp .env.example .envFill in .env:
DISCORD_TOKEN=your_discord_bot_token
ANTHROPIC_API_KEY=your_anthropic_api_key
FAL_KEY=your_fal_api_key
ALLOWED_GUILD_IDS=guild_id_1,guild_id_2
PLANET_GORK_CHANNEL_IDS=channel_id_1,channel_id_2 # one #planet-gork per server
pnpm dev # development (auto-restarts on changes)
pnpm start # production@gork in any channel for confidently wrong answers and deliberately misinterpreted image generation.
| Trigger | Behavior |
|---|---|
@gork <anything> |
Gets a confidently wrong answer |
@gork draw/generate/make... image/picture/photo |
Generates a deliberately misinterpreted image |
@gork !clear |
Resets conversation history for the channel |
!thelatest |
Summary of major topics from the last 3 days, with jump links |
Image generation is rate limited to 5 images per minute per user.
A persistent text RPG running in #planet-gork channel threads. One campaign active per channel. Each campaign is 5 monsters: 3 normal β 1 miniboss β 1 boss.
Starting a campaign: type !start in #planet-gork. Gork generates a campaign and opens a thread.
Taking a turn: @gork or reply to Gork in the campaign thread with your action. Anything goes β attack, heal, use an item, try to befriend the monster.
| Command | Behavior |
|---|---|
@gork <action> or reply |
Take your turn |
!me |
Your HP, inventory, and status effects (DM) |
!party |
Everyone's HP and status (DM) |
!help |
Full rules summary (DM) |
HP: starts at 100. Regens +5 per turn. Floor is 1 β you can't die, only get incapacitated.
Loot: defeating monsters drops items distributed randomly among participants. Items have tier-based modifiers (mundane Β±5β10, special +10β20, exotic +20β35). Single use.
Status effects: temporary conditions (on fire, cursed, enraged) that modify your effectiveness. Attempt to cure them like a heal action.
Multi-server: each #planet-gork channel runs independently. The same Discord user on two different servers has separate HP, inventory, and status.
- discord.js β Discord client
- Anthropic SDK β Claude Haiku for GM and summaries
- better-sqlite3 β synchronous SQLite for game state
- fal.ai β FLUX.1-schnell for image generation ($0.003/image)
The bot maintains a persistent WebSocket connection to Discord β no open ports or inbound traffic needed. Run it anywhere Node.js runs.
For always-on hosting, a cheap VPS with pm2 works well:
npm i -g pm2
pm2 start "pnpm start" --name gork
pm2 save && pm2 startupTo reset game state: rm gamestate.db and restart. Schema changes require a reset.
