Your first bot: from an idea to /start
You will get a working bot that you can message /start and whose every button you can press. An agent writes the code. Your part: the token, simple answers and checking.
01What to have ready
- A Telegram account (on your phone or computer).
- An agent, Claude Code or Codex, that you are already signed in to. How to do that is in the first-run guide.
- An empty folder for the bot. If you work in SHIPIT, it creates the folder itself when you start a project.
02Get a token from @BotFather
- Open Telegram and find @BotFather with the blue check mark.
- Send
/newbot. - Choose a name. You can change it later.
- Choose a username: 5 to 32 characters, Latin letters, digits and underscores, and it must end with
bot. You cannot change it later. - @BotFather sends the token: a long string. It is not an account login but a key to this one bot.
The token is like a password. Do not show it to anyone and do not put it in screenshots or code. If it ever becomes known, generate a new one in @BotFather with /token.
Can I paste the token into the agent chat?
You can, but remember that everything you write to an agent goes to the company behind that agent, as described in the data section of the first-run guide. The safest way is for the token to end up only in a .env file on your computer. The agent creates the file and shows where to put it. For a test bot that is not a problem; for a bot with real customers, generate the token again when you finish.
03Assemble the task in the builder
Open dzhura.app/build and choose Telegram bot. Answer plain questions: what the bot does, what it is called, which language it speaks, which buttons it needs, where to save data and who to notify. At the end the builder assembles a ready task for the agent.
Choose where you will work: SHIPIT, Claude Code or Codex. The builder shows short steps for exactly your choice. In the SHIPIT app the same builder is built into Prompts › Make (in the Ukrainian interface Промпти › Створити), so you do not need to open the website. If you do not see that section yet, update SHIPIT.
I do not know what to answer
Pick the closest “Purpose” and leave the rest at the builder’s defaults. Write one or two sentences in the “In your own words” field about what the bot should do for a person. The agent will clarify everything else itself.
04Hand the task to the agent
- Create an empty folder, for example
my-bot, and open a terminal in it. In SHIPIT: the Agent tab, a new projectmy-bot. - Start
claudeorcodex, paste the task from the builder and press Enter. - Answer the agent’s questions. When it asks for the token, provide it (see above for the safer way).
Which agent model to choose
The default model is enough for a first bot. If you want to understand how models differ and when to switch, read Which model should I choose?.
The agent writes the code as plain files, adds .env to .gitignore, puts a .env.example next to it without real values, writes a README and runs the bot locally.
05Check it yourself
- In Telegram find your bot by username and press Start. Until you do, the bot cannot write to you in private.
- Press every menu button. Check that the answers are right and that Cancel goes back without errors.
- If the bot should notify you, make a test order or booking and see whether the message arrives.
- If data goes to a sheet, open it and find the new row.
The bot does not answer
Almost always the bot simply is not running. The checklist is in Where the bot lives and why it is silent.
06Make the bot work all the time
While the bot runs on your Mac, it works only when the Mac is on. At the end the agent compares two ways to make it independent of the computer and recommends one. That is a separate section: Where the bot lives.
Changing the bot later is easy: open the same folder and tell the agent what to change. For example, “add a Prices button” or “change the greeting”. If you do not like the result, ask it to undo the last change: Git keeps the previous version.