В пространстве между людьми рождаются слова
Выберите диалог или воспользуйтесь поиском, чтобы превратить мысль в разговор
«Иногда тишина — самый громкий ответ. Эта дверь закрыта, но мир полон других путей.»
Настройка профиля
Добро пожаловать
ZNAKORA — это пространство для свободного общения. Настройте свой профиль за минуту.
Выберите фото
О себе
Как вас будут видеть другие?
Приватность
Кто может видеть вашу информацию?
Безопасность
Защитите свой аккаунт подтверждением входа через почту.
Новый чат
🤖 Боты в ZNAKORA (ALPHA— уже можно создавать ботов и ИИ-ботов (функция в разработке, возможны ограничения); 🔗 ссылка обязательна и должна заканчиваться на _bot, пример: `my_cool_bot`.
Заголовок
Znakora Bot API
Версия 3.0 (Pro) • Python & Node.js • Long Polling
Znakora Bot API — это универсальный интерфейс для управления автоматизированными сценариями. Система полностью построена на POST-запросах, что обеспечивает промышленный стандарт передачи данных и команд.
Быстрый старт
import requests
import time
# 1. Вставьте ваш токен
TOKEN = "ВАШ_ТОКЕН_ЗДЕСЬ"
API_URL = f"https://znakora.ru/api/bot{TOKEN}"
def api(method, data=None):
try:
# Все запросы — POST
return requests.post(f"{API_URL}/{method}", json=data).json()
except Exception as e:
print(f"Ошибка соединения: {e}")
return {}
def main():
print("🤖 Бот запущен (Python)...")
api("deleteWebhook") # Переключаемся на Long Polling
while True:
try:
# Long Polling запрос (висит до 30 сек)
updates = api("getUpdates")
if updates.get("ok") and updates.get("result"):
for update in updates["result"]:
# Обработка текстовых сообщений
if "message" in update:
msg = update["message"]
chat_id = msg["chat"]["id"]
text = msg.get("text", "")
print(f"📩 От {chat_id}: {text}")
if text == "/start":
# Отправка Inline-клавиатуры
keyboard = {
"inline_keyboard": [[
{"text": "❤️ Лайк", "callback_data": "like"},
{"text": "🌍 Сайт", "url": "https://google.com"}
]]
}
api("sendMessage", {"chat_id": chat_id, "text": "Привет! Выберите действие:", "reply_markup": keyboard})
elif text == "Меню":
# Отправка обычной клавиатуры
reply_kb = {
"keyboard": [[{"text": "Помощь"}, {"text": "Настройки"}]],
"resize_keyboard": True
}
api("sendMessage", {"chat_id": chat_id, "text": "Меню открыто.", "reply_markup": reply_kb})
# Обработка нажатий на кнопки (Callback)
if "callback_query" in update:
cb = update["callback_query"]
cb_id = cb["id"]
data = cb["data"]
chat_id = cb["message"]["chat"]["id"]
msg_id = cb["message"]["message_id"]
print(f"🔘 Кнопка: {data}")
# ВАЖНО: Ответ на callback, чтобы убрать "часики"
api("answerCallbackQuery", {"callback_query_id": cb_id, "text": "Принято!"})
if data == "like":
api("editMessageText", {
"chat_id": chat_id,
"message_id": msg_id,
"text": "Спасибо за ваш лайк! 👍"
})
except Exception as e:
print(f"Критическая ошибка: {e}")
time.sleep(5)
if __name__ == "__main__":
main()
const axios = require('axios');
// 1. Вставьте ваш токен
const TOKEN = 'ВАШ_ТОКЕН_ЗДЕСЬ';
const API_URL = `https://znakora.ru/api/bot${TOKEN}`;
async function api(method, data = {}) {
try {
const res = await axios.post(`${API_URL}/${method}`, data);
return res.data;
} catch (e) {
console.error('Ошибка API:', e.message);
return {};
}
}
async function startBot() {
console.log('🤖 Бот запущен (Node.js)...');
await api('deleteWebhook'); // Long Polling
while (true) {
try {
const updates = await api('getUpdates'); // Висит до 30 сек
if (updates.ok && updates.result) {
for (const update of updates.result) {
// Сообщения
if (update.message) {
const msg = update.message;
const chatId = msg.chat.id;
const text = msg.text;
console.log(`📩 Msg: ${text}`);
if (text === '/start') {
await api('sendMessage', {
chat_id: chatId,
text: 'Привет из Node.js!',
reply_markup: {
inline_keyboard: [[
{ text: '🔥 Круто', callback_data: 'cool' }
]]
}
});
}
}
// Кнопки
if (update.callback_query) {
const cb = update.callback_query;
console.log(`🔘 Callback: ${cb.data}`);
// ВАЖНО: Ответ на callback
await api('answerCallbackQuery', {
callback_query_id: cb.id,
text: 'Обработано!'
});
if (cb.data === 'cool') {
await api('editMessageText', {
chat_id: cb.message.chat.id,
message_id: cb.message.message_id,
text: 'Рад, что понравилось! 🎉'
});
}
}
}
}
} catch (e) {
console.log('Ошибка пулинга, повтор через 3с...');
await new Promise(r => setTimeout(r, 3000));
}
}
}
startBot();
Справочник API
Array<Update>- chat_id (int, required) — ID получателя.
- text (string, required) — Текст сообщения.
- reply_markup (object) — Inline или Reply клавиатура.
multipart/form-data.
- chat_id (int, required)
- photo (file, required) — Файл изображения.
- caption (string) — Подпись к фото.
- message_id (string, required) — ID сообщения для редактирования.
- text (string, required) — Новый текст.
- reply_markup (object) — Новая клавиатура.
- callback_query_id (string, required) — ID из полученного `callback_query`.
- text (string) — Текст всплывающего уведомления (опционально).
- message_id (string, required) — ID сообщения.
Аккаунт
Оформление
Настройка Бота
Чаты
Нажмите, чтобы применить фон
Активные сеансы
Завершить сеанс?
Выход будет произведен только на выбранном устройстве. Чтобы войти снова, потребуется ввести пароль.
User
Переслать сообщение
Выберите реакцию
Открепить сообщение?
Вы можете убрать закреп только у себя или для всех участников чата.
Удалить сообщение?
Это действие нельзя отменить. Сообщение будет удалено у всех участников чата.
Удалить чат?
Вы уверены?
Удалить контакт?
Пользователь останется в ваших чатах, но исчезнет из списка контактов.
Имя собеседника
Проверка безопасности
Замечена подозрительная активность. Пожалуйста, введите код с картинки, чтобы продолжить общение.
Name
Входящий аудиозвонок...
Редактировать контакт
Выйти из группы?
Вы перестанете получать сообщения из этого чата.
Удалить группу?
Группа и вся переписка будут удалены для всех участников безвозвратно.
Доступ ограничен
Оформление чата
Нажмите на фон, чтобы применить его ко всем чатам.