Kotoba

Where to start

What Kotoba isWho she is and where she runs, in one page
InstallingOne package, two commands
First runA key, a model, her first words
The approval gateHow she asks before she acts
The two voice modesLocal voice, or the agent tunnel
The soul fileChange who she is
RoadmapWhat grows next, and what was cut on purpose

Or a section

↑↓ move openesc close124 pages
All pages

Discord10 of 10

When she does not answer

About 4 minutes to read

On this page

Messages the command prints

What you seeWhat it means
the Discord bot needs its extra:discord, nacl or davey is not importable. Install the discord extra
I have no Discord bot token.Nothing saved in the keystore and DISCORD_BOT_TOKEN is empty. Run kotoba discord --save-token
Discord refused that token.The token is wrong or was reset. Reset it in the portal and save the new one
Discord refused the privileged intents. followed by two namesMessage Content and Server Members are not both on in the portal
The bot stopped: ...Anything else. The full traceback is in the log; a token-shaped string is redacted out of both
Nothing to read. Pipe the token in, or set DISCORD_BOT_TOKEN.--save-token had no terminal and nothing on stdin

Symptoms in a server

SymptomCause
She connects, then is silent across a whole serverThat server id is not in KOTOBA_DISCORD_GUILDS or --guild
She ignores a channel unless mentionedThat is the default. Put the channel id in KOTOBA_DISCORD_HOME_CHANNELS
Typing her name as a plain word does nothingIn writing she needs a real mention — hers or a role she wears. The spoken name only works in voice
She answered, then went quiet mid-conversationThe 90-second window closed, somebody else wrote in between, or your message mentioned somebody
She answers a role ping you did not mean for herShe wears that role. Give her an integration role of her own
"I can't ... : that needs Administrator on this server"The person asking does not hold Discord's Administrator permission there
"... only her person can ask for that"KOTOBA_DISCORD_OWNER_ID is not that person's id
"I can't ... — I don't know who's asking me"A defensive path: a Discord tool ran with no known asker. It should not appear in ordinary use
"This one isn't yours to answer." on a cardYou are neither the asker nor an administrator — or the card runs on the host and you are not the owner
A card nobody can pressIt runs on the host and KOTOBA_DISCORD_OWNER_ID is unset
"Something went wrong on my side there. Try me again?"The turn raised. The traceback is in the log under kotoba.discord
She cannot touch a role or a personHer own role sits at or below theirs, or it is the server owner. She says which case it was; moving her role higher fixes the first

Symptoms in voice

SymptomCause
She joins and never speaks or reactsThe voice extra is missing, so her transcriber and synthesiser cannot be imported
She joins, hears you, and says nothingNo ElevenLabs key, or libopus is not installed on Linux or macOS
"I can't listen in there: Discord negotiated ..."Discord chose an encryption mode this version does not implement
She does not react to her nameRead what the transcriber actually wrote — every partial is logged. A name mangled into another script usually means her language is auto; set it, or set KOTOBA_STT_LANGUAGE
She answers somebody else's sentenceHer name was heard in a partial that the final transcript rewrote away. It is deliberate — the partial is the earlier and clearer evidence
"I got stuck on that one — ask me again?"Nothing happened for 75 seconds, or the turn ran past 10 minutes
She left on her ownNobody but bots was in the channel for five minutes

Reading the log

The bot logs under kotoba.discord. It records sizes and ids, never the words: whoever runs her needs to see that turns are happening and how big they are, and a log that quotes a channel is a second copy of that channel.

Voice is the exception: partial and committed transcripts are logged, because a name has no dictionary behind it and reading what the transcriber wrote is the only way to know how it spells hers.