tao_yao — status

Tao Yao is a Discord bot for moderation, AI fact-checking, and server games — built with an actual personality instead of a neutral one. She doesn't perform enthusiasm. She's not going to start now.

what she actually does

Four jobs. No filler command.

Every feature below ships in the current build — nothing here is a roadmap item wearing a marketing sentence.

ai
ask / verify

Answers questions. Checks claims.

/ask takes a question and answers it in character, sarcasm intact — unless the topic is a genuine health or safety concern, where the persona drops and the answer turns direct. Reply to any message and mention her with fact check and she'll evaluate it — true / false / misleading / unverifiable — through a chain of fallback models so one provider outage doesn't take the feature down.

mod
rules / cc / reports

Rules, custom commands, and a real incident tracker.

/rule and /cc manage a shared library of server text — create, edit, alias, send to a member's DMs or post in-channel. /report member and /report moderator file incidents with status, priority, and assignment — moderators reporting moderators goes straight to admins only, so exposure isn't a reason not to report.

mod
modmail

DM her. It reaches a human.

Direct messages get relayed into a dedicated mod channel as a single running thread — one message, kept updated — and staff reply by replying to it. No separate ticket command, no separate dashboard.

game
duel / riddle

Two ways to lose to your own overconfidence.

/duel is a 1v1 HP battle — Strike beats Guard, Guard beats Gambit, Gambit beats Strike — with a challenge/accept flow and a real leaderboard. /riddle runs timed rounds with fuzzy-matched answers, a hint that costs half your points, and streak tracking that resets the moment nobody answers in time.

util
status / ping

She'll tell you if something's actually wrong.

/status reports live version, environment, and known-bug data — pulled from a source that updates independently of the bot's own deploy, so the answer doesn't depend on whether tonight's release went out cleanly.

how it's built

Not held together by hope.

Three decisions that shape everything above.

01

One AI layer, every call-site

A single calling function backs both /ask and fact-checking. Each passes its own prompt, model chain, and limits — but a timeout or rate-limit on one model falls through to the next automatically. Only a dead connection or an exhausted chain becomes a visible error.

02

Rules and commands, same backend

Both sit on one generic content store — same create / edit / alias / delete shape, separate keys, one shared reserved-word list guarding both from collision. That's why they behave identically down to the wording.

03

One thread, kept current

A modmail conversation and a filed report are each backed by a single message that gets edited in place as things progress — not a new post per event — with a fallback if that message gets deleted out from under it.

Remarkable. Wrong with confidence.
— logged response, /ask
reference

Command surface.

Slash commands unless noted. Mod and Admin are separate role tiers — Admin includes everything Mod can do.

commanddoeswho
/askAsk her anything. 30s cooldown per person.everyone
fact check ↩Mention + reply to a message to verify a claim.everyone
/rule, /cccreate · edit · send · list · deletemod / admin
/cc aliasAttach or remove an alias, search by text.admin
/report memberFile a report on a member.everyone
/report moderatorFile a report on a moderator — routes to admins only.everyone
/report statusCheck a report's progress by id.reporter / staff
/report assign, updateAssign staff, change status / priority / note.mod / admin
/duel challengeChallenge a member. They have to accept first.everyone
/duel stats, leaderboardYour record, or the server's.everyone
/riddle playStart a round. First correct answer wins.everyone
/riddle hintReveal a hint. Halves the points for that round.everyone
/status, /pingHealth, version, and latency.everyone
self-hosting

Or run your own.

Tao Yao is open source under MIT. Requires Python 3.14+, a Discord bot token, and a Groq API key.

1

Clone and enter the environment

git clone https://github.com/w3nabil/taoyao.git
cd taoyao
python -m venv .venv
source .venv/bin/activate  // .venv\Scripts\activate on Windows
2

Install and configure

pip install -r requirements.txt
cp .env.example .env              // add BOT_TOKEN + GROQ_API_KEY
cp config.json.example config.json // add your server/role/channel ids
3

Run it

python bot.py

Runtime data is created automatically on first launch — nothing else to seed.