Discord1 of 10
Kotoba on Discord
On this page
Discord is one of her front doors. The bot, the terminal and the web app run the same engine, read the same database and use the same workspace. What Discord changes is who is allowed to ask her for what, and how she writes: a room of several people, in public, with no screen to draw on.
What it is
kotoba discord is a separate process. It connects to the Discord gateway, and for every channel it
answers in it opens one conversation on the shared engine.
- A channel is a conversation. The session id is derived from the server id and the channel id, hashed, so the same channel keeps its history across a restart of the bot. A DM gets its own id.
- Everyone in a channel shares that conversation. One session holds every person's turns in that channel, so she reads what other people said there when she answers you.
- She uses ordinary messages. She registers no slash commands — there is no application-command tree anywhere in the code — so you talk to her by naming her, replying to her, or writing in a channel you have marked as hers.
- She does not answer everything. In a server she answers when she is named, when you reply to her, in the channels you nominate, and for a short window after she just answered you. See When she answers.
What it is not
- It has no clock. This process starts no cron ticker on purpose. Reminders asked for in a channel do not ring in that channel; she says so when she sets one. See Honest limits.
- It draws no panels. A Discord message and an approval card with two buttons are the only things she can put on screen here. There is no task list, no progress view, no file tree.
- It is not a second identity. Her memory of you, her files and her terminal belong to one account — the owner id you configure. Everybody else in the server reaches a much smaller set of tools, by design.
What you need
| For | Requirement |
|---|---|
| Text | A bot application and token, the discord extra, two privileged intents |
| Voice | Also the voice extra, an ElevenLabs key, and libopus on Linux and macOS |
| Acting on your machine (shell, files, code) | KOTOBA_DISCORD_OWNER_ID set to your own Discord user id |
| Reshaping a server | Discord's Administrator permission on the person asking, and the matching permissions on her |
Start with Setting her up on Discord.
