Xipher Bot API

Мощный API для создания ботов с 50,000+ функциями. Создавайте ботов для автоматизации, игр, платежей и многого другого.

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

Начните создавать ботов за несколько минут. Все запросы к API выполняются через HTTPS.

1. Создайте бота

В настройках мессенджера перейдите в раздел "Мои боты" и создайте нового бота. Вы получите токен для доступа к API.

2. Базовый запрос

Все запросы к API имеют следующий формат:

URL
https://api.xipher.pro/bot<token>/METHOD_NAME

3. Пример на Python

Python
import requests

TOKEN = "YOUR_BOT_TOKEN"
BASE_URL = f"https://api.xipher.pro/bot{TOKEN}"

# Получить информацию о боте
response = requests.get(f"{BASE_URL}/getMe")
bot_info = response.json()
print(bot_info)

# Отправить сообщение
requests.post(f"{BASE_URL}/sendMessage", json={
    "chat_id": 123456789,
    "text": "Привет! 👋"
})

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

Все запросы к API требуют токен бота в URL. Токен выдается при создании бота.

GET getMe

Проверяет токен бота и возвращает основную информацию о боте.

Пример запроса
curl https://api.xipher.pro/bot<token>/getMe
Ответ
{
  "ok": true,
  "result": {
    "id": 123456789,
    "is_bot": true,
    "first_name": "My Bot",
    "username": "mybot",
    "can_join_groups": true,
    "can_read_all_group_messages": false
  }
}

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

Есть два способа получения обновлений: Long Polling (getUpdates) и Webhooks.

GET getUpdates

Получает обновления через Long Polling. Используется для получения новых сообщений, callback query и других событий.

Параметры

offset
Идентификатор первого обновления для возврата
Integer, опциональный
limit
Количество обновлений для получения (1-100)
Integer, опциональный, по умолчанию 100
timeout
Таймаут в секундах для Long Polling
Integer, опциональный, по умолчанию 0
Python
import requests

TOKEN = "YOUR_BOT_TOKEN"
BASE_URL = f"https://api.xipher.pro/bot{TOKEN}"

# Получить обновления
response = requests.get(f"{BASE_URL}/getUpdates?offset=0&limit=100&timeout=30")
updates = response.json()
print(updates)

Работа с сообщениями

Отправка, редактирование и управление сообщениями в чатах.

POST sendMessage

Отправляет текстовое сообщение в указанный чат.

Параметры

chat_id
Уникальный идентификатор чата
Integer или String, обязательный
text
Текст сообщения (до 4096 символов)
String, обязательный
parse_mode
Режим форматирования: "MarkdownV2", "HTML" или "None"
String, опциональный
reply_to_message_id
ID сообщения, на которое отвечаем
Integer, опциональный
reply_markup
Клавиатура или кнопки под сообщением
InlineKeyboardMarkup или ReplyKeyboardMarkup, опциональный
Python
import requests

TOKEN = "YOUR_BOT_TOKEN"
BASE_URL = f"https://api.xipher.pro/bot{TOKEN}"

response = requests.post(f"{BASE_URL}/sendMessage", json={
    "chat_id": 123456789,
    "text": "Привет! Это мой первый бот 🤖",
    "parse_mode": "HTML"
})

print(response.json())
POST editMessageText

Редактирует текст отправленного сообщения.

Параметры

chat_id
ID чата, где находится сообщение
Integer или String, обязательный
message_id
ID сообщения для редактирования
Integer, обязательный
text
Новый текст сообщения
String, обязательный
POST deleteMessage

Удаляет сообщение из чата.

Параметры

chat_id
ID чата
Integer или String, обязательный
message_id
ID сообщения для удаления
Integer, обязательный
POST forwardMessage

Пересылает сообщение из одного чата в другой. Сохраняет информацию об исходном отправителе.

Параметры

chat_id
ID чата, куда пересылать
Integer или String, обязательный
from_chat_id
ID чата, откуда пересылать
Integer или String, обязательный
message_id
ID сообщения для пересылки
Integer, обязательный
POST copyMessage

Копирует сообщение из одного чата в другой. Не сохраняет информацию об исходном отправителе.

Параметры

chat_id
ID чата, куда копировать
Integer или String, обязательный
from_chat_id
ID чата, откуда копировать
Integer или String, обязательный
message_id
ID сообщения для копирования
Integer, обязательный

Медиа и файлы

Отправка фотографий, видео, аудио, документов и других медиафайлов.

POST sendPhoto

Отправляет фотографию в чат. Поддерживаются файлы до 10 ГБ.

Параметры

chat_id
ID чата
Integer или String, обязательный
photo
Файл для отправки (file_id, URL или multipart/form-data)
InputFile или String, обязательный
caption
Подпись к фотографии (до 1024 символов)
String, опциональный
POST sendAudio

Отправляет аудиофайл в чат.

Параметры

chat_id
ID чата
Integer или String, обязательный
audio
Аудиофайл для отправки (file_id, URL или multipart/form-data)
InputFile или String, обязательный
caption
Подпись к аудио (до 1024 символов)
String, опциональный
POST sendDocument

Отправляет документ любого формата (до 10 ГБ).

POST sendVideo

Отправляет видеофайл.

POST sendVoice

Отправляет голосовое сообщение (OGG Opus).

Клавиатуры и кнопки

Создание интерактивных клавиатур и кнопок для взаимодействия с пользователями.

POST InlineKeyboardMarkup

Создает кнопки под сообщением. Кнопки могут открывать URL, отправлять callback или запускать Mini Apps.

Пример
import requests

TOKEN = "YOUR_BOT_TOKEN"
BASE_URL = f"https://api.xipher.pro/bot{TOKEN}"

keyboard = {
    "inline_keyboard": [
        [
            {"text": "Кнопка 1", "callback_data": "button1"},
            {"text": "Кнопка 2", "callback_data": "button2"}
        ],
        [
            {"text": "Открыть сайт", "url": "https://example.com"}
        ]
    ]
}

requests.post(f"{BASE_URL}/sendMessage", json={
    "chat_id": 123456789,
    "text": "Выберите действие:",
    "reply_markup": keyboard
})
POST answerCallbackQuery

Отвечает на нажатие inline-кнопки. Может показать уведомление или открыть URL.

Администрирование

Управление чатами, пользователями и правами доступа.

POST banChatMember

Банит пользователя в группе или канале.

POST promoteChatMember

Назначает пользователя администратором с настраиваемыми правами.

POST setChatTitle

Изменяет название группы или канала.

POST pinMessage

Закрепляет сообщение в чате.

Платежи и криптовалюты

Интеграция платежей с поддержкой криптовалют (USDT, TON, BTC).

POST sendInvoice

Отправляет счет на оплату в чат.

Параметры

chat_id
ID чата
Integer или String, обязательный
title
Название товара
String, обязательный
description
Описание товара
String, обязательный
currency
Валюта: "USDT", "TON", "BTC" или "RUB"
String, обязательный
prices
Массив цен
Array of LabeledPrice, обязательный
POST createInvoiceLink

Создает ссылку на оплату для использования в кнопках или вне мессенджера.

POST answerPreCheckoutQuery

Подтверждает или отклоняет запрос на оплату перед списанием средств.

Работа с файлами

Получение информации о файлах и управление стикерами.

GET getFile

Получает информацию о файле по его file_id.

POST createNewStickerSet

Создает новый набор стикеров.

Webhooks

Настройка webhooks для получения обновлений в реальном времени.

POST setWebhook

Устанавливает URL для получения обновлений через webhook.

Параметры

url
HTTPS URL для отправки обновлений
String, обязательный
secret_token
Секретный токен для проверки подлинности
String, опциональный
allowed_updates
Массив типов обновлений для получения
Array of String, опциональный
Пример
import requests

TOKEN = "YOUR_BOT_TOKEN"
BASE_URL = f"https://api.xipher.pro/bot{TOKEN}"

requests.post(f"{BASE_URL}/setWebhook", json={
    "url": "https://yourdomain.com/webhook",
    "secret_token": "your_secret_token",
    "allowed_updates": ["message", "callback_query"]
})
GET getWebhookInfo

Получает информацию о текущем webhook.

POST deleteWebhook

Удаляет webhook и переключает бота на Long Polling.

Inline Mode

Позволяет пользователям использовать бота в любом чате через @username.

POST answerInlineQuery

Отвечает на inline-запрос пользователя.

Mini Apps

Создание веб-приложений, которые работают внутри мессенджера.

POST openWebview

Открывает веб-страницу внутри мессенджера (на весь экран или половину).

Bot Builder (No-Code)

Визуальный редактор для создания ботов без написания кода.

POST saveBotFlow

Сохраняет сценарий бота, созданный в визуальном редакторе.

Пример JSON схемы
{
  "nodes": [
    {
      "id": 1,
      "type": "trigger_text",
      "data": {"match": "/start"}
    },
    {
      "id": 2,
      "type": "send_message",
      "data": {"text": "Привет! 👋"}
    },
    {
      "id": 3,
      "type": "send_buttons",
      "data": {
        "buttons": [
          {"text": "Кнопка 1", "callback": "action1"},
          {"text": "Кнопка 2", "callback": "action2"}
        ]
      }
    }
  ],
  "edges": [
    {"from": 1, "to": 2},
    {"from": 2, "to": 3}
  ]
}