homeГлавная auto_awesomeВозможности business_centerДля бизнеса shieldБезопасность smart_toyБоты downloadСкачать policyКонфиденциальность
smart_toy
Платформа ботов

Создавайте ботов
за 5 минут

Открытый Bot API, Python SDK с декораторами, вебхуки и готовый каталог ботов. Автоматизируйте что угодно — от напоминалок до нейросетевых ассистентов.

apiBot API
webhookWebhooks
codePython SDK
boltPolling или webhook
chat
send
psychology
descriptionmy_bot.py
1from onemix_bot import OnemixBot 2 3bot = OnemixBot( 4 token="YOUR_TOKEN", 5 api_url="https://onemix.app" 6) 7 8@bot.command("start") 9def on_start(msg): 10 bot.reply(msg, "Привет! 👋") 11 12@bot.on_message() 13def echo(msg): 14 bot.reply(msg, msg["content"]) 15 16# Запускаем бота 17bot.run()
api
24
эндпоинтов API
code
Python
SDK-библиотека
bolt
<100ms
задержка сообщений
forum
пользователей на бота

Опубликованные боты

Лучшие проекты сообщества. Запустите чат с ботом в один тап или опубликуйте своего через @botfather.

search
appsВсе
verifiedОфициальные
psychologyИИ
buildУтилиты
sports_esportsРазвлечения
business_centerБизнес
newspaperНовости
autorenewЗагружаем каталог…

Полное руководство по Bot API

От первого бота до продакшена с вебхуками и OpenAI-интеграцией. Всё что нужно — на одной странице.

rocket_launchБыстрый старт

Создание бота для ONEMIX занимает буквально несколько минут:

lightbulb
Начните чат с @botfather в приложении и отправьте команду /newbot. Следуйте подсказкам — получите токен и запускайте.

Требования:

  • Аккаунт в ONEMIX Messenger
  • Сервер для бота (VPS, облако или localhost для разработки)
  • Python 3.8 или выше

Установка

terminalbash
pip install onemix-bot

Минимальный пример

descriptionquickstart.py
from onemix_bot import OnemixBot

bot = OnemixBot(
    token="YOUR_BOT_TOKEN",
    api_url="https://your-server.com"
)

@bot.command("start")
def handle_start(message):
    bot.send_message(
        chat_id=message["bot_chat_id"],
        text="Привет! Я бот ONEMIX"
    )

@bot.on_message()
def handle_message(message):
    bot.send_message(
        chat_id=message["bot_chat_id"],
        text=f"Вы написали: {message['content']}"
    )

bot.run()

add_circleСоздание бота

1. Через BotFather

Команды @botfather:

  • /newbot — Создать нового бота
  • /mybots — Список ваших ботов
  • /setname — Изменить имя
  • /setdescription — Изменить описание
  • /setcommands — Настроить меню команд
  • /deletebot — Удалить бота
  • /token — Получить токен API

2. Через REST API

POST/botfather/create
data_objectrequest.json
{
  "name": "My Bot",
  "username": "my_cool_bot",
  "description": "Мой первый бот",
  "category": "utility"
}
data_objectresponse.json
{
  "id": "uuid",
  "username": "my_cool_bot",
  "api_token": "uuid:hex",
  "message": "Бот @my_cool_bot создан!"
}
warning
Username должен заканчиваться на bot или _bot. Минимальная длина — 5 символов.

keyАутентификация

Каждый запрос к Bot API должен содержать заголовок с токеном:

httpHTTP Header
Authorization: Bot YOUR_BOT_TOKEN

sendОтправка сообщений

POST/bot-api/sendMessage
data_objectrequest.json
{
  "chat_id": "bot-chat-uuid",
  "text": "Привет от бота!"
}
data_objectresponse.json
{
  "ok": true,
  "message_id": "msg-uuid"
}

downloadПолучение обновлений

GET/bot-api/getUpdates?limit=100
data_objectresponse.json
{
  "ok": true,
  "result": [
    {
      "id": "msg-uuid",
      "bot_chat_id": "chat-uuid",
      "sender_type": "user",
      "content": "/start",
      "user_id": "user-uuid",
      "user_name": "Иван"
    }
  ]
}

webhookВебхуки

Вместо long-polling можно принимать обновления на ваш сервер через вебхуки — быстрее и эффективнее для продакшена.

POST/botfather/{bot_id}/webhook
data_objectrequest.json
{
  "url": "https://your-server.com/webhook",
  "secret": "optional_secret"
}

При новом сообщении сервер ONEMIX отправит POST-запрос:

data_objectincoming.json
{
  "update_type": "message",
  "message": {
    "id": "msg-uuid",
    "bot_chat_id": "chat-uuid",
    "content": "Текст",
    "user_id": "user-uuid",
    "user_name": "Иван"
  }
}
DELETE/botfather/{bot_id}/webhook

terminalКоманды бота

POST/botfather/{bot_id}/commands
data_objectrequest.json
{
  "commands": [
    {"command": "start", "description": "Запуск"},
    {"command": "help", "description": "Помощь"}
  ]
}

codePython-библиотека onemix-bot

Основные методы

descriptionmethods.py
from onemix_bot import OnemixBot

bot = OnemixBot(token="TOKEN", api_url="https://server.com")

me = bot.get_me()                         # Информация о боте
bot.send_message(chat_id, text)           # Отправка
bot.reply(msg, text)                      # Ответ на сообщение
updates = bot.get_updates(limit=50)       # Получение обновлений
bot.set_webhook("https://...")            # Установить вебхук
bot.set_commands([...])                   # Установить команды
bot.run()                                 # Polling loop

Декораторы

descriptiondecorators.py
@bot.command("start")
def on_start(msg):
    bot.reply(msg, "Добро пожаловать!")

@bot.on_message()
def on_text(msg):
    bot.reply(msg, f"Эхо: {msg['content']}")

@bot.on_message(pattern=r"привет|здравствуй")
def on_hello(msg):
    bot.reply(msg, "Привет!")

Webhook-режим с Flask

descriptionwebhook_server.py
from flask import Flask, request
app = Flask(__name__)

@app.route("/webhook", methods=["POST"])
def webhook():
    bot.process_update(request.json)
    return "ok"

bot.set_webhook("https://your-server.com/webhook")
app.run(port=5000)

bookПримеры ботов

Эхо-бот

descriptionecho_bot.py
from onemix_bot import OnemixBot
bot = OnemixBot(token="TOKEN", api_url="https://server.com")

@bot.command("start")
def start(msg):
    bot.send_message(msg["bot_chat_id"], "Отправь текст.")

@bot.on_message()
def echo(msg):
    bot.send_message(msg["bot_chat_id"], msg["content"])

bot.run()

Бот-напоминалка

descriptionreminder_bot.py
import threading, time
from onemix_bot import OnemixBot
bot = OnemixBot(token="TOKEN", api_url="https://server.com")

@bot.command("remind")
def remind(msg):
    parts = msg["content"].split(" ", 2)
    if len(parts) < 3:
        bot.reply(msg, "Формат: /remind [мин] [текст]")
        return
    mins, text = int(parts[1]), parts[2]
    cid = msg["bot_chat_id"]
    def do():
        time.sleep(mins * 60)
        bot.send_message(cid, f"Напоминание: {text}")
    threading.Thread(target=do, daemon=True).start()
    bot.reply(msg, f"Напомню через {mins} мин.")

bot.run()

Бот с OpenAI

descriptionai_bot.py
import openai
from onemix_bot import OnemixBot
bot = OnemixBot(token="TOKEN", api_url="https://server.com")
client = openai.OpenAI(api_key="sk-...")

@bot.on_message()
def ai(msg):
    r = client.chat.completions.create(
        model="gpt-4",
        messages=[{"role":"user","content":msg["content"]}],
        max_tokens=500)
    bot.send_message(msg["bot_chat_id"],
        r.choices[0].message.content)

bot.run()

Готовы создать своего бота?

Откройте ONEMIX, напишите @botfather и получите токен за 30 секунд.

downloadСкачать ONEMIX menu_bookЧитать SDK-доку