Public multi-guild Discord bot with a web dashboard for living communities.
Moderation, levels, economy, events, games, and VALORANT tools — without cluttering chat.
Panel · Docs · About · Lookup · Dev Blog · Terms · Credits · Cheterin Group
One bot instead of a pile of utilities. Cheterin runs on many Discord servers with per-guild isolation. Admins configure modules in the browser; members use slash commands and interactions in Discord.
| Moderation | Logs, antispam, automod, verification, antiraid, warns |
| Community | Levels & XP, welcomes, invites, sticky roles, birthdays |
| Economy | Server currency, shop, daily, casino |
| VALORANT | Premier applications, role panels, /valorant, ValChecker, Customs lobbies |
| Games | Family & supply (GTA5RP), Mafia 2.0 (game events, play on the site), Bunker, Wordle, roulette, Relations |
| Content | Events, giveaways, polls, embed builder (multi-embed, Discohook-style JSON import), streams, banner/icon rotation |
In Discord: /help. Bot presence: Playing /help • Cheterin.
Public Lookup (ID / invite, no dashboard login): cheterin.online/lookup.
- Add the bot via cheterin.online.
- Sign in to the panel with the same Discord account.
- Pick a server and enable the modules you need — each guild is independent.
- Details: documentation.
Support: Cheterin Group · Contact: [email protected]
| Path | Role |
|---|---|
main.py |
Bot entrypoint + starts the dashboard in the same process |
bot/ |
Bot package: core/, modules/*, cards/, data/ |
dashboard/ |
Web panel (aiohttp backend + Vite/React frontend) |
lookup/ + lookup-api/ |
Public Lookup SPA + API (separate process, not started from main.py) |
docs/ |
Engineer docs (ARCHITECTURE EN + RU) |
scripts/ + update.sh |
Full VPS update (bot + Lookup builds + systemd restart) |
deploy/systemd/ |
cheterin-bot / cheterin-lookup unit files |
locales/ |
Bot strings (RU/EN) |
LICENSE |
Apache License 2.0 |
.github/workflows/ci.yml |
CI: pytest + frontend builds |
Maps: docs/ARCHITECTURE.md (EN) · docs/ARCHITECTURE.ru.md (RU).
Bot + dashboard (needs a filled root .env from .env.example — never commit secrets):
pip install -r requirements.txt
cd dashboard/frontend && npm ci && npm run build && cd ../..
python main.pyLookup (isolated; use lookup-api/.env with LOOKUP_DISCORD_TOKENS or LOOKUP_DISCORD_TOKEN, never BOT_TOKEN):
# API
cd lookup-api && pip install -r requirements.txt && python app.py
# SPA (another terminal)
cd lookup && npm ci && npm run devTests without Discord tokens:
pytest # dashboard/backend
cd lookup-api && pytest # Lookup API / TokenPool
cd dashboard/frontend && npm ci && npm run build
cd lookup && npm ci && npm run buildProduction site: cheterin.online.
- Processes: systemd
cheterin-bot.service(python main.py= bot + dashboard) andcheterin-lookup.service(Lookup API on 8090). SPA static: nginx/lookup→lookup/dist. Unit files:deploy/systemd/. - One-command update:
bash ~/Cheterin_Bot_Dashboard/update.sh—git pull, pip for bot + lookup-api, build both frontends,systemctl restartboth units. - Install units once on the host (see
deploy/systemd/README.md). Agents do not SSH or enable units for you.
SSH host details and private keys live in local-only Cursor rules under .cursor/rules/ (gitignored). Do not commit production IPs, key paths, or .env values.
- License: Apache-2.0 · Copyright © 2026 Cheterin Group.
- CI runs on push/PR to
main(no private Discord tokens required). - Keep Lookup out of
main.py. - Never commit
.env, tokens, or SSH keys. - Public contact email:
[email protected].
UI languages: English and Russian.
| Panel | cheterin.online |
| Docs | cheterin.online/docs |
| Dev Blog | cheterin.online/dev-blog |
| Lookup | cheterin.online/lookup |
| Credits | cheterin.online/credits |
| Repository | github.com/Nanda070/Cheterin-Bot |
| Cheterin Group | discord.gg/cheterin |
| Org | github.com/orgs/ChetTeam |
| Privacy / Terms | privacy · terms |
| README (RU) | README.ru.md |
© 2026 Cheterin Group Ø · part of Cheterin Group · Apache-2.0