What bots are
A bot is a Telenoda account controlled by your program. Users write to the bot as they would to a person, and the program receives their messages through the Bot API and replies.
Bots send notifications, take orders, answer questions, moderate groups, publish posts to channels and open mini apps. More on what bots can do is on the Bot features page.
How to create a bot
Bots are created in the chat with the service bot @botcreator. You can also manage your bots in the “My bots” section of the app settings. Up to 20 bots per account.
- Open a chat with @botcreator and send
/newbot. - Enter the bot's name and its username. The username must end in
bot, for exampleshop_helper_bot. - Save the token, which looks like
123456789:AA…. It is shown only once.
The token has the same shape as a Telegram token: a number, a colon and 35 characters. Tokens issued before October 11, 2026 are longer, 43 characters. They still work, but some libraries, such as telego, accept only 35 characters. Issue a new token with the /token command.
The token gives full access to the bot. Don't publish it in code or repositories. If the token leaks, issue a new one with the /token command — the old one stops working immediately.
| @botcreator command | What it does |
|---|---|
/newbot | create a bot |
/mybots | list your bots |
/token | issue a new token and revoke the old one |
/setname | change the name |
/setdescription | description in an empty chat with the bot |
/setabouttext | short text in the bot's profile |
/setcommands | list of commands for the menu |
/setjoingroups | allow or forbid adding the bot to groups |
/setprivacy | privacy mode in groups |
/setinline | enable inline mode and the input field hint |
/setinlinefeedback | receive chosen inline results |
/deletebot | delete the bot |
Mini app domains and the menu button are configured in “My bots” in the app.
Connecting libraries
Libraries written for the Telegram Bot API work: set the address https://api.telenoda.org in them, the rest of the code stays the same.
aiogram 3
from aiogram import Bot, Dispatcher
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer
session = AiohttpSession(api=TelegramAPIServer.from_base("https://api.telenoda.org"))
bot = Bot(token=TOKEN, session=session)
dp = Dispatcher()
python-telegram-bot
from telegram.ext import Application
app = (
Application.builder()
.token(TOKEN)
.base_url("https://api.telenoda.org/bot")
.base_file_url("https://api.telenoda.org/file/bot")
.build()
)
telegraf
import { Telegraf } from "telegraf";
const bot = new Telegraf(process.env.TOKEN, {
telegram: { apiRoot: "https://api.telenoda.org" },
});
Without a library
curl https://api.telenoda.org/bot<token>/getMe
How a bot receives messages
There are two ways, and only one can be active at a time:
- Long polling —
getUpdateswith atimeoutof up to 50 seconds. Suitable for development and small bots; no domain of your own is needed. - Webhook —
setWebhookwith the address of your HTTPS server. Telenoda sends updates as POST requests one at a time, in order.
Unprocessed updates are kept for 24 hours. Details are in the Getting updates section.
What's next
- Bot features — commands, buttons, links, groups and inline mode.
- Bot API reference — all methods and limits.
- Mini apps — the bot's web interface inside the chat.