denis-skripnik posted note :
Обещанное дополнение к заметке viz://@denis-skripnik/61486527.
Что такое Viz bots?
Мы все знаем, что у Telegram есть боты. У других мессенджеров тоже...
Но по сути, боты - это просто сервера, на которых работают скрипты. Они взаимодействуют с Telegram через специальный API, который позволяет создавать кнопки, команды и пр...
А теперь представьте, что вам не надо идти в Telegram, чтоб, допустим, узнать погоду на завтра или подписаться на курс BTC.
1. Награды, как способ передачи запросов.
Разработчик Виктор запустил сервер со скриптом. Этот скрипт прост: проверяет блоки и, если есть запрос в виде награды не менее 1 VIZ на аккаунт weather.victor, награждает в ответ пользователя, что отправил награду, на 0.01% с ответом в memo.
Пользователь Олег хочет узнать погоду в Сочи на завтра, т. к. будет там в тот день.
Он заходит на страницу ботов, выбирает weather Victor bot и отправляет ему награду 1 VIZ с memo "Sochi".
Скрипт Виктора видит запрос, ищет в базе данных город и отправляет награду Олегу на 0.01% энергии с сообщением:
"Завтра +30".
2. Viz bots + Viz Frames.
Виктор может захотеть предоставить пользователям более удобный интерфейс к боту.
Он знает, что в Viz Frames есть действие:
["bot_message",{"text": "выберите город или отправьте запрос", "butons": ["Sochi", "Moscow", ", "Krasnodar", "Minsk", "Phuket"]}]
Список может быть большим...
А далее указывает в json_metadata:
"bot_message": "viz://@weather.victor/block/F"
Этот запрос Клиент ботов преобразует в сообщение + список кнопок + текстовое поле ввода...
Структура кнопок может отличаться. Она может даже полностью совпадать с тем, что есть в Telegram bot API для удобства партирования.
3. Подписка на событие.
Разработчик Сергей запустил сервер, который принимает один запрос: "subscribe BTC", где BTC - Тикер желаемой криптовалюты.
Согласно прописанным условиям, 1 VIZ даёт возможность получения уведомлений 10 раз (просто пример).
Пользователь Иван вводит запрос, и в ответ ему через минуту приходит первая награда с уведомлением о цены нужной ему криптовалюты.
В интерфейсе бот-Клиента список уведомлений может отображаться в виде сообщений от бота.
4. А что если наград не хватает?
Энергии всего 10 000 единиц. Соответственно, если пользователей у проекта будет много, может не хватить всем процентов.
Но и в Telegram тоже есть ограничения на рассылки.
Решение в обоих случаях одно: запуск второго, третьего, пятого, десятого и так далее бота...
При этом, в протоколе Viz ботов может содержаться JSON строка:
"altBots": ["prices1.sergey", "prices2.sergey", "prices3.sergey"]…
И интерфейс ботов может предлагать пользователю выбрать один из ботов, чтоб снизить вероятность нехватки ресурсов.
Но в отличие от Telegram, владелец бота просто может рассылать награды с одного из аккаунтов списка выше, а пользователь будет видеть их, как от одного бота благодаря тому, что они связаны списком в JSON_metadata.
Всё.
Будут вопросы, пишите.
Также интересны мнения.
И да:
Я понимаю, что на данном этапе это не особо наверное нужно, т. к. нет достаточного количества разработчиков и пользователей, но на будущее, возможно, заметки будут полезными...
Comments