Сейчас я хочу рассказать как создать бот, который будет находиться в Telegram и мог отвечать умными словами, а кроме того генерировать картинки.
Захожу на платформу https://leadteh.ru/
После стартового блока я создаю еще один:
Вставляю картинку и в описании пишу:
Далее создаю кнопки, которые будут отправлять в различные разделы.
1 кнопка:
Затем кликаю Настройка клавиатуры.
Здесь выбираю Telegram и кликаю Сохранить:
После этого, я около кнопки Получить ответ кликаю на Плюсик и Цепочка сообщений:
Кликаю на кнопку Текст, пишу в поле:
Опускаюсь ниже. Здесь выключаю, так как кнопок и ответа не будет.
Однако будет переменная, в которую попадет запрос. Поэтому здесь я включаю и пишу:
Сейчас я добавлю блок и во вкладке ЕЩЕ:
Далее Специальные и выбираю:
Этот блок будет обрабатывать запрос и давать ответ.
Он немного отличается. Теперь я захожу в Документацию ChatGPT.
Здесь нужно зарегистрироваться https://platform.openai.com/docs/api-reference/introduction
Затем спускаюсь вниз и возьму вот эту ссылочку:
Затем ее вставляю в поле URL. На данную ссылку я буду ссылаться.
Метод, выбираю Пост и выбираем формат:
Я в данный момент выбираю первый.
Здесь же можно ознакомится с параметрами, которые нужно отправлять, а можно скопировать что есть:
В поле его вставляю и проверяю та ли стоит переменная:
У блока http есть команда Продолжить, которая срабатывает мгновенно и могу перейти.
А этот ползунок определяет какое количество секунд пользователь останется в этом блоке прежде чем автоматически перейти по команде Продолжить:
Это для того чтобы получить ответ от той ссылке на которую отправляется запрос.
Теперь добавлю заголовок. Я обязательно должна указать авторизацию которую от меня требуют. К примеру так:
Также очень важно пройти авторизацию. Поэтому я создаю второй заголовок и вставляю значения:
А вот вместо этого, нужно добавить ключ, который можно получить в личном кабинете. Для этого кликаем на Create New secretkey:
Вот он ключ:
Я его копирую и вставляю в поле после значения baerer:
Протестировав, я прошла очень быстро блок не получив ответа. Но для этого мне нужно понять, какой ответ мне нужен.
Для этого я включаю:
А Отправлять в запросе данные, отключаю.
Если ответа нет, то для этого и существует задержка, которая позволяет остаться в блоке до получения ответа если от сервера приходит ошибка, то я должна тоже об этом знать.
Поэтому в блоке http есть красная кнопка, но это не кнопка, а команда по которой пойдет пользователь, если ответ не придет. Я кликаю на плюсик. Цепочка сообщений:
Здесь в поле пишу: Нет отчета от сервера и перенаправляю на главный блок:
Задержку я поставила 20 секунд, этого достаточно и вот получаю ответ:
Что здесь написано мне поможет расшифровать сервис.
Расшифровщик запросов JSON: https://jsonformatter.org/
Вот какой ответ мне прислал бот:
Если перейду в режим Form, то здесь увижу какое количество токенов использовано для вопроса, для ответа. Здесь так же увижу ответ от искусственного интеллекта, который могу получить:
Я кликаю на текст и формируется строчка:
Я ее копирую, перехожу в блок http, включаю Записать ответ и вношу переменную.
Вместо стрелочек я ставлю точки и придумываю переменную, в которую будет попадать ответ от бота.
Теперь в продолжении цепочки сообщений я пишу:
На этом блоке могу сделать кнопку Главное меню и соединить ее с главным блоком, а чтобы не запутаться, могу добавить кнопку Сценарий:
И выбираю Главный сценарий:
Теперь в блоке http отключаю Выводить тело ответа в чат, чтобы в Боте не видеть эти сообщения.
Я возвращаюсь в главное меню (цепочка сообщений), добавляю кнопку Сгенерировать изображение:
Я ее тоже делаю инлайн и кликаю Сохранить. Затем добавляю еще один блок:
Имя переменной ставлю pront_image, а запрос для генерации такой:
После этого я направлю на другой блок:
Нижний блок http буду сейчас перенастраивать:
Пока оставила Ответ в чате. Захожу в документацию ChatGPT, копирую ссылку:
Вставляю ее в строку URL блока http. Здесь уже задержку можно указать побольше, 40 секунд.
Вот получила от бота ответ в 2 вариантах.
1 вариант:
2 вариант:
Можно использовать любой вариант. Копирую строку, перехожу в блок и буду использовать 2 переменные:
Выводить текст в чат, отключаю. Также можно создать 2 блока с одной переменной:
Картинки можно скачивать, а ссылки своеобразные и их использовать нельзя.
Сегодня я буду создавать вот такую штуку:
Захожу в конструктор ботов https://leadteh.ru/
В создании такого бота есть 3 основных инструмента:
1. Ссылка для приглашения рефералов. Ее я нахожу в разделе Помощь. Кликая в левом нижнем углу на Знак вопроса. Нахожу вкладку:
Здесь 2 ссылки. я хочу посмотреть их отличие, поэтому я их копирую. В конструкторе создаю новый блок, кликаю на кнопку Текст и вставляю туда эти ссылки:
Теперь перехожу в бот, чтобы посмотреть как ссылки отобразятся:
Они обе приглашают, но 2 ссылка – сразу запускается бот, а 1 – предлагается открыть его через браузер. Можно использовать и ту и другую. Также я могу приглашать людей на дополнительные сценарии. В этих формулах есть скобки, в которые можно вставить ID нашего сценария.
Для этого захожу в конструктор. Создаю новый сценарий, кликаю в правом нижнем углу и даю ему название:
А в адресной строке я могу взять ID данного сценария:
Теперь в скобки я его вставляю:
Перезапускаю бот и смотрю, что произойдет. Вижу:
1 ссылка сломалась, 2 немного изменилась и если я по ней кликну, то сразу запустится бот и я попаду в дополнительный сценарий.
Это очень удобный инструмент для выведения статистики либо назначения пользователям определенного тега.
Для того чтобы 1 ссылка не ломалась есть формула:
Отследить рефералов можно кликнув на вкладку Списки. Контакты.
Столбец Рефер – пригласивший. Есть формула:
Она помогает вывести рефералов в Боте, чтобы пользователь увидел кто его реферал.
Если в скобочках ничего не писать, то рефералы будут только 1 линии, но можно указать число и любой тэг, к примеру, Купил.
Ниже формулы, которые выводят определенных линий рефералов, а также по количеству.
Также я могу выводить количество рефералов всех уровней:
Далее идет формула, которая помогает получить количество рефералов на определенном уровне.
А также формула, которая помогает увидеть своего рефера (пригласившего):
Я ее копирую и 3 формулу.
Вот сюда это все вставлю:
Вот как это отображается в боте:
Здесь есть тот кого пригласили, а пригласившего нет. Рядом картинка – если тот же самый бот перезапустит тот, кого пригласили. Он видит своего рефера, но рефералов пока нет. Он еще никого не приглашал, а в бот попал по чьей – то ссылке.
Теперь поговорим о другом инструменте, который позволяет работать с рефералами – это блоки.
Эти блоки:
Определяют условия. Например, наличие рефералов можно увидеть в блоке Условие:
В блоке созам кнопку Получить бонус, сделаю ее инлайн. Направлю на блок Условия, который будет проверять, имеет ли контакт, который кликает эту кнопку определенное количество рефералов, к примеру, 1:
Если да, отправлю на один блок, если нет – на другой:
И отправляю его на предыдущий блок, чтобы набрал нужное количество рефералов.
Переключатель работает также.
Вот как это работает в боте:
Таким образом я смогу разграничить пользователей.
Но есть еще 3 очень важный инструмент – взаимодействия между пользователями внутри Бота. Допустим, я как рефер, приглашаю человека и хочу, чтобы бот мне автоматом начислил какое – то количество балов. Также, к примеру, я хочу этими баллами поделиться с другим пользователем с рефералом, которого я пригласила.
Для этого в базе знаний есть такой раздел:
Кликаю на него. Контакты и вижу, что здесь тоже есть реферальная система:
Кликаю на нее:
Если использовать API, то можно не просто получить рефералов либо рефереров, но и отправить определенное количество монет.
Бонусы могут начисляться вручную и автоматически. Пользователь кликает на кнопку Получить бонус, а бот проверяет, за сколько рефералов он уже получил бонусы, за сколько еще не получил и вот за это количество и начисляет ему баланс автоматически.
Теперь все по порядку.
1 вариант – Ручной режим.
У меня есть бот с кнопкой Получить бонус. Я хочу, кликнув на нее, понять есть ли у меня реферал и если есть, то получить за него начисление.
Я захожу в раздел Помощь. Реферальная система бота и выбираю сейчас 5 формулу:
Она подтягивает актуальное количество рефералов определенного уровня. Здесь в скобочках указан 20 уровень, а если я поставлю 1, то рефералы будут считаться только данного уровня.
Я создаю блок, кликаю Интеграции. Операция над переменной:
Кликаю на него, в поле Значение вставляю скопированную формулу:
В скобках я пишу 1. Придумываю имя переменной.
Затем добавляю цепочку сообщений, чтобы протестировать:
В настройках пишу: Результат и вывожу переменную:
Если я сейчас кликну на кнопку Получить бонус, то результат 0. Начислять баллы не буду. К этому тоже нужно быть готовым.
Для того чтобы отслеживать сколько у пользователя рефералов, я создаю блок Условие:
Кликаю на него, выбираю:
Ставлю: меньше 1:
Если Да, то пишу, что недостаточно рефералов:
Если у пользователя другое условие, больше 1, то по ветке Да создаю еще условие. Здесь буду проверять в первый раз он получает начисление или нет. Выбираю:
Пишу название:
Кликаю Enter. Если у пользователя нет этого тега, он идет по ветке Нет.
Здесь я добавляю блок Операция над переменной. Сразу сделаю Тэг, чтобы в следующий раз он пошел по другой ветке:
Кликаю на блок Операции над переменной, где переменная первый уровень. Здесь формируется число (любое) и с этим числом я должна произвести какие-то математические выражения. Если у меня 1 реферал, то я за него получу 100 рублей (баллов), а если 5 рефералов, то я должна получить 500 рублей.
Следовательно в блоке Операции над переменной, выбираю:
Здесь добавляю 2 локальные переменные:
А в значении пишу:
Затем заполняю:
После этого можно добавить блок Цепочка сообщений, где сообщаем о начислении баллов:
Затем добавлю кнопку Главное меню и добавлю сценарий, где выбираю Главный сценарий.
Теперь я продублирую блок Операции над переменной с переменной первый уровень и поменяю название на 1 уровень получено, а формула будет таже:
В тот момент, когда пользователь пройдет сквозь этот блок, здесь формируется число рефералов и попадет в переменную один уровень получено. Таким образом в эту переменную первый уровень получено, попадет то количество рефералов, за которые пользователь получил начисление. А когда он в следующий раз придет, я могу брать эту переменную и использовать как прошлое число.
После блока Условие, который проверяет наличие тега, он направит по ветке Да. Я могу сделать такую проверку. Добавлю блок Операция над переменной, выберу математическое выражение 2.0. Добавлю локальную переменную, которая называется 1 уровень получено, а также возьму еще 1 локальную переменную фактическое количество рефералов и сделаю вычисление:
В данной переменной будет разница между фактическим и полученным.
Далее поставлю блок Условие, чтобы лишний раз не назначать баллы:
Здесь я выбираю:
И делаю настройки:
Если хотите настроить не баллы, а рубли, то после имени переменной нужно написать слово – рублей. Например так: {{$ball}} рублей.
То здесь ему нет смысла чего – то начислять, так как у него нет рефералов. А ему отправлю сообщение, что у него нет новых рефералов.
Здесь меняю условия:
В боте это будет выглядеть так:
Если я войду в Главное меню и сразу кликну опять на кнопку Получить бонус, то мне бот ответит:
Но в случае, если у пользователя будет больше рефералов, то должны проделаться следующие вычисления.
У меня есть предыдущий блок, который знает новых рефералов. Он берет и вычитает, получает переменную 1 уровень новая. У пользователя если больше 1 рефералов, то он попадает сюда и я буду использовать переменную 1 уровень новая. это X и это буду умножать на 100 и прибавляю текущее значение переменной баллы:
Таким образом бот будет знать новое количество рефералов и данное число умножать на 100 и прибавлять к новым баллам. После всех этих вычислений я также буду использовать блок Операция над переменной, в которой формируется переменная получен 1 уровень с текущим количеством всех рефералов.
Можно добавить блок Цепочка сообщений:
И здесь написать:
И возвращаюсь в Главный сценарий.
Когда появляется новый реферал, появляется уведомление. Этими уведомлениями можно управлять. Кликаю в боте на Настройки:
Дополнительно:
Здесь включена функция:
И Глубина указана до 10 уровня. Ее можно ограничить или отключить уведомления.
Можно сделать собственное уведомление, прописав его в этом поле.
2 вариант. Автоначисление баллов за рефералов.
Захожу в раздел Авторассылки и кликаю Создать первую:
Даю имя, выбираю Telegram:
Могу добавить фильтр Имеет определенное количество рефералов:
Если я поставлю вот здесь галочку, то бонус будут получать только за 1 линию. Если не ставить, то будут получать за всех рефералов.
О проекте
О подписке