Открытый Bot API и асинхронный Python SDK: хэндлеры, фильтры, инлайн-кнопки и состояния диалога. Каталог ботов и мини-приложения прямо в чате.


pip install onemix-botБот создаётся одной командой в @BotFather — дальше пишете логику на Python или своём языке через REST.
from onemix_bot import Bot, Dispatcher from onemix_bot.filters import CommandStart bot = Bot(token="YOUR_TOKEN") dp = Dispatcher() @dp.message(CommandStart()) async def start(msg): await msg.answer("Привет! Я бот ONEMIX") @dp.message() async def echo(msg): await msg.answer(msg.text) dp.run_polling(bot)
Bot + Dispatcher, хэндлеры с фильтрами, инлайн-кнопки и FSM. Сервер по умолчанию — api.onemix.me.

Бот показывает готовые кнопки под полем ввода и под сообщением. Один тап вместо набора команды — кнопки умеют открывать и мини-приложения.
Магазины, кошельки, сервисы и игры открываются внутри ONEMIX — без браузера. Авторизация, темы и платежи работают через SDK.
От первого бота до продакшена с вебхуками.
Начните чат с @BotFather в ONEMIX и отправьте /newbot — получите токен. Нужен Python 3.8+.
pip install onemix-bot
from onemix_bot import Bot, Dispatcher
from onemix_bot.filters import CommandStart
# api_url не обязателен — по умолчанию https://api.onemix.me
bot = Bot(token="YOUR_BOT_TOKEN")
dp = Dispatcher()
@dp.message(CommandStart())
async def handle_start(message):
await message.answer("Привет! Я бот ONEMIX")
@dp.message()
async def handle_message(message):
await message.answer(f"Вы написали: {message.text}")
dp.run_polling(bot)/newbot — создать бота · /mybots — список · /setname, /setdescription — оформление · /setcommands — меню команд · /token — токен API · /deletebot — удалить.
Или через REST: POST /botfather/create c полями name, username, description, category. Username заканчивается на bot, минимум 5 символов.
Каждый запрос к Bot API содержит заголовок с токеном:
Authorization: Bot YOUR_BOT_TOKEN
POST /bot-api/sendMessage
{
"chat_id": "bot-chat-uuid",
"text": "Привет от бота!"
}
→ { "ok": true, "message_id": "msg-uuid" }GET /bot-api/getUpdates?limit=100
→ { "ok": true, "result": [ { "id": "msg-uuid", "bot_chat_id": "chat-uuid",
"sender_type": "user", "content": "/start", "user_id": "user-uuid", "user_name": "Иван" } ] }Вместо long-polling — обновления на ваш сервер:
POST /botfather/{bot_id}/webhook
{ "url": "https://ваш-сервер.com/webhook", "secret": "optional_secret" }
DELETE /botfather/{bot_id}/webhookPOST /botfather/{bot_id}/commands
{ "commands": [ {"command": "start", "description": "Запуск"},
{"command": "help", "description": "Помощь"} ] }from onemix_bot import InlineKeyboardBuilder
kb = InlineKeyboardBuilder()
kb.button(text="Открыть сайт", url="https://onemix.me")
kb.button(text="Нажми меня", callback_data="hello")
kb.adjust(1)
await msg.answer("Выбери действие:", reply_markup=kb.as_markup())Откройте чат с ботом в ONEMIX или опубликуйте своего через @BotFather.
Откройте @BotFather в ONEMIX и отправьте /newbot.