BotFather
One bot to create the others. BotFather manages the full bot lifecycle in an ordinary chat, entirely through buttons (every command can also be typed) — and it's the only service in the system holding the platform's provisioning credential.
Creating a bot
Open a chat with BotFather, tap Create a new bot (or type /newbot), and answer two questions — a display name, then a username that must end in bot:
You: [Create a new bot]
BotFather: Alright, a new bot. How are we going to call it?
Please choose a name for your bot.
You: Doctor Finder
BotFather: Good. Now let's choose a username for your bot.
It must end in `bot`. Like this, for example:
TetrisBot or tetris_bot.
You: doctorfinderbot
BotFather: Done! Congratulations on your new bot.
Use this token to access the Atlas Bot API:
syt_ZG9jdG9yZmluZGVyYm90_…
Keep your token secure and store it safely, it can be
used by anyone to control your bot.
Behind the scenes that provisions a real bot account on the platform and mints its access token — the one credential that is the bot's chat identity, its platform-LLM access, and its notification access. The new bot appears in the app's chats-page search immediately.
Commands
Every action below is offered as a button — /mybots opens a per-bot management menu (Edit Name, API Token, Delete Bot, …), and tapping a button drops you straight into the matching flow without posting a command into the chat. The typed commands, for those who prefer them:
| Command | What it does in Atlas |
|---|---|
/newbot | Name → username (must end in bot) → account + token. |
/mybots | Lists your bots; management commands take @username as an argument or prompt you to choose. |
/setname | Updates the bot's display name. |
/setdescription | Description shown when opening a chat with the bot. |
/setabouttext | Profile "About" text. |
/setuserpic | Send an image; it becomes the bot's avatar. |
/setcommands | command - Description lines, one per command. |
/token | Shows the bot's access token. |
/revoke | Invalidates every existing token and mints a fresh one — the kill switch. |
/setprivacy | In groups, the bot receives only /commands and mentions ("Enable") or everything ("Disable"). |
/setjoingroups | Whether the bot accepts group invites at all. |
/deletebot | Deactivates the account — after the exact phrase Yes, I am totally sure. |
/cancel | "The command has been cancelled. Anything else I can do for you?" |
The inline-mode and games commands exist for parity and reply that they're not available on Atlas yet. Unknown commands get BotFather's classic "Unrecognized command. Say what?"
How settings reach a running bot
BotFather has no channel to the developer's server — deliberately. Instead, /setprivacy, /setjoingroups, and /setcommands are written into the bot's platform-stored settings, and the SDK reads them at startup. Change a setting in BotFather, restart the bot anywhere in the world, and it applies — no redeploy of BotFather, no shared database, no webhook.
Ownership and safety
- Bots belong to their creator: only the owner can manage, re-token, or delete them.
/revokeworks no matter where the bot's code runs — the platform controls the account, not the hosting.- Bot creation can be restricted to an allowlist while the ecosystem is invite-only.
- BotFather is itself an SDK bot — same message stream, same guards, same one-chat interface it gives everyone else.
BotFather is operated by the platform — there's nothing for you to run or configure. Find it in the app's chat search, tap Create a new bot, and you're building.