Программный интерфейс для создания ботов в SpaceChat. API построен на привычных для бот-платформ принципах, поэтому переход с других платформ требует минимальной адаптации.
Все запросы к API выполняются по адресу:
https://api.spacechat.org/botway/bot{TOKEN}/{METHOD}
Где {TOKEN} — токен бота, {METHOD} — имя метода. Токен бота выдаётся через @BotFather.
"chat_id": 123 и "chat_id": "123" равнозначны.-1001073805824) и коротком (-1073805824). Для совместимости с библиотеками для ботов используйте полный.reply_markup — объектом или JSON-строкой, оба варианта работают.multipart/form-data) или по ссылке (URL).getUpdates) или вебхук (setWebhook).getMe, getUpdates, sendMessage, forwardMessage, copyMessage, deleteMessage, sendChatAction, answerCallbackQueryeditMessageText, editMessageCaption, editMessageReplyMarkup, editMessageMediasendPhoto, sendVideo, sendDocument, sendAudio, sendVoice, sendSticker, sendMediaGroup, sendPoll, sendDice, sendContact, sendLocation, sendVenue, getFilegetChat, getChatMember, getChatMemberCount, getChatAdministrators, getUserProfilePhotos, banChatMember, unbanChatMember, restrictChatMember, promoteChatMember, pinChatMessage, unpinChatMessage, exportChatInviteLink, createChatInviteLink, setChatDescriptionsetMyCommands, getMyCommands, deleteMyCommands, getMyDescriptioncreateForumTopic и связанныеsetWebhook, getWebhookInfo, deleteWebhookanswerInlineQuery).Список доступных методов расширяется.
Платежи (sendInvoice и связанные методы) не поддерживаются.
POST https://api.spacechat.org/botway/bot{TOKEN}/sendMessage
Content-Type: application/json
{
"chat_id": "123456789",
"text": "Привет!"
}
{
"chat_id": "123456789",
"text": "<b>Жирный</b> и <i>курсив</i>",
"parse_mode": "HTML"
}
{
"chat_id": "123456789",
"text": "Выберите:",
"reply_markup": "{\"inline_keyboard\":[[{\"text\":\"Да\",\"callback_data\":\"yes\"},{\"text\":\"Нет\",\"callback_data\":\"no\"}]]}"
}
curl -X POST "https://api.spacechat.org/botway/bot{TOKEN}/sendPhoto" \
-F "chat_id=123456789" \
-F "photo=@/path/to/photo.jpg" \
-F "caption=Описание"
{
"chat_id": "123456789",
"photo": "https://example.com/photo.jpg",
"caption": "Описание"
}
{
"offset": "0",
"limit": "100",
"timeout": "10"
}
{
"url": "https://example.com/my-bot-webhook"
}
Список известных ограничений на текущий момент. По мере доработок он сокращается.
getUpdates часть метаданных приходит не в полном объёме (например у альбомов нет группировки, у видео — превью).getUpdates приходит не всегда.editMessageText с HTML-разметкой может задваивать текст.Вопросы по работе бота и сообщения о проблемах — в поддержку SpaceChat: @support.