В статье делимся пошаговой инструкцией, как реализовать Telegram-бота на NodeJS и задеплоить его на виртуальный сервер.
Введение
Привет! Я Владилен Минин, YouTube-блогер. Пару недель назад я написал бота, который позволяет говорить с ChatGPT с помощью голосовых и текстовых сообщений. Это удобно, потому что не нужно использовать VPN для работы с OpenAI, а про клавиатуру можно забыть вовсе.
В этой статье делюсь пошаговой инструкцией, как реализовать ChatGPT Telegram-бота на NodeJS и задеплоить его на виртуальный сервер.
Каркас Telegram-бота
Настройка рабочего окружения
Начнем с самого простого: инициализируем проект и установим необходимые зависимости для среды разработки.
npm init -y npm i -D nodemon cross-env
После инициализации в директории проекта сгенерируется конфигурационный файл package.json. А вторая команда подтянет необходимые пакеты, которые позволяют запускать приложения NodeJS в режиме разработки.
Теперь добавим поддержку установленных ES-модулей в package.json для разработки и продакшена.
Автоведение Telegram паблика. Пишем граббер за 5 минут
«type»: «module», «scripts»: < «start»: «cross-env NODE_ENV=production node ./src/main.js», «dev»: «cross-env NODE_ENV=development nodemon ./src/main.js» >,
Установка Telegraf и регистрация бота
Рабочее окружение настроено — давайте приступим к написанию самого бота. Создаем главный файл ./src/main.js , устанавливаем фреймворк Telegraf и config.
npm i config telegraf
После установки необходимых пакетов и создания главного файла, можно запустить самого бота. Для этого нужно импортировать Telegraf и config, а после — добавить ключ API для работы с Telegram.
import < Telegraf >from ‘telegraf’ import config from ‘config’ const bot = new Telegraf(config.get(‘TELEGRAM_BOT’)) bot.launch() process.once(‘SIGINT’, () => bot.stop(‘SIGINT’)) process.once(‘SIGTERM’, () => bot.stop(‘SIGTERM’))
./src/main.js. О настройке config.get() ниже.
Теперь создадим «заготовки» для настроек приложения, где будут расположены данные для Telegram-бота. Добавляем два файла — ./config/default.json с конфигурациями для разработки и ./config/default.json — для продакшна.
На практике, если в продакшене API-токен не меняется, вы можете обойтись одним конфигурационным файлом — например, только config/default.json .
Добавление функционала
Бот запущен и работает, но пока ничего не умеет делать. Поэтому нужно добавить первый функционал: научиться фильтровать голосовые сообщения и получать на них ссылки в формате ogg, а после конвертировать в mp3.
Последний шаг нужен, чтобы в дальнейшем переводить голосовые сообщения в текст через сервисы OpenAI. Они принимают на вход файлы формата ogg. Подробнее нюансы описаны на официальной странице.
Фильтрация голосовых сообщений
Отбирать голосовые сообщения можно с помощью встроенного фильтра Telegraph — message. Достаточно в качестве аргумента передать значение voice — и бот будет «считывать» голосовые сообщения.
import < Telegraf >from ‘telegraf’ import < message >from ‘telegraf/filters’ import < code >from ‘telegraf/format’ import config from ‘config’ import < ogg >from ‘./ogg.js’ const bot = new Telegraf(config.get(‘TELEGRAM_BOT’)) bot.on(message(‘voice’), async (ctx) => < try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) const link = await ctx.telegram.getFileLink(ctx.message.voice.file_id) const userId = String(ctx.message.from.id) const oggPath = await ogg.create(link.href, userId) const mp3Path = await ogg.toMp3(oggPath, userId) >catch (e) < console.log(`Error while voice message`, e.message) >>)
Чтобы получить ссылку на голосовое сообщение, нужно передать в метод getFileLink специальный идентификатор.
Конвертация голосовых сообщений и получение ссылок в формате ogg
Чтобы обрабатывать и конвертировать полученные из getFileLink данные, создадим обработчик — например, ./src/ogg.js — и установим зависимости. А также создадим директорию для хранения голосовых.
Далее в ./src/ogg.js создадим объект OggConverter , который будет создавать ogg-записи и сохранять их в специальной директории.
В методе create мы сначала скачиваем ogg с серверов Telegram, а потом записываем их локально в файл через stream . Голосовой ogg-файл будет храниться в ./voices/$.ogg .
import axios from ‘axios’ import < createWriteStream >from ‘fs’ import < dirname, resolve >from ‘path’ import < fileURLToPath >from ‘url’ const __dirname = dirname(fileURLToPath(import.meta.url)) // ==== async create(url, filename) < try < const oggPath = resolve(__dirname, ‘../voices’, `$.ogg`) const response = await axios(< method: ‘get’, url, responseType: ‘stream’, >) return new Promise((resolve) => < const stream = createWriteStream(oggPath) response.data.pipe(stream) stream.on(‘finish’, () =>resolve(oggPath)) >) > catch (e) < console.log(‘Error while creating ogg’, e.message) >>
Дальше конвертируем ogg в mp3 с помощью функции toMp3 . Выходной файл будет лежать по адресу: ./voices/$.mp3
toMp3(input, output) < try < const outputPath = resolve(dirname(input), `$.mp3`) return new Promise((resolve, reject) => < ffmpeg(input) .inputOption(‘-t 30’) .output(outputPath) .on(‘end’, () =>resolve(outputPath)) .on(‘error’, (err) => reject(err.message)) .run() >) > catch (e) < console.log(‘Error while creating mp3’, e.message) >>
Опционально. Чтобы после конвертации в mp3 файлы ogg удалялись, можно написать дополнительную утилиту.
import < unlink >from ‘fs/promises’ export async function removeFile(path) < try < await unlink(path) >catch (e) < console.log(‘Error while removing file’, e.message) >>
Голосовой чат с ChatGPT
Теперь давайте напишем основные функции для перевода mp3 в текст и работы с ChatGPT соответственно. Для этого нужно подключить API ChatGPT: установить библиотеки, сгенерировать и добавить в настройки приложения уникальный ключ.
npm i openai
Установка пакета openai.
https://platform.openai.com/account/api-keys
Для работы с API OpenAI создадим файл ./src/openai.js и опишем базовый класс. В его конструкторе создаем объект с конфигурациями, которые будут использоваться при отправке запросов на серверы OpenAI, и объект для подключения к API.
import < Configuration, OpenAIApi >from ‘openai’ import config from ‘config’ import < createReadStream >from ‘fs’ class OpenAI < roles = < ASSISTANT: ‘assistant’, USER: ‘user’, SYSTEM: ‘system’, >constructor(apiKey) < const configuration = new Configuration(< apiKey, >) this.openai = new OpenAIApi(configuration) > async chat(messages) < >async transcription(filepath) < >> export const openai = new OpenAI(config.get(‘OPENAI_KEY’))
Здесь roles — формат ролей, который принимает сервер openai. assistant — сообщения из gpt-чата; user — пользовательские сообщения; system — контекст для чата (например, «ChatGPT, веди себя как программист с многолетним стажем»).
Функция transcription отвечает за перевод mp3 в текстовые сообщения с помощью модели whisper-1. Притом она достаточно хорошо распознает русский язык.
async transcription(filepath) < try < const response = await this.openai.createTranscription( createReadStream(filepath), ‘whisper-1’ ) return response.data.text >catch (e) < console.log(‘Error while transcription’, e.message) >>
Функция chat отвечает за самое главное — общение с ChatGPT на базе модели gpt-3.5-turbo. Четвертую модель можно использовать только по предварительно одобренной заявке.
async chat(messages) < try < const response = await this.openai.createChatCompletion(< model: ‘gpt-3.5-turbo’, messages, >) return response.data.choices[0].message > catch (e) < console.log(‘Error while gpt chat’, e.message) >>
Асинхронная функция chat принимает messages — массив объектов с сообщениями, ролями и именами отправителей. А после — возвращает данные из response , ответ ChatGPT.
Осталось только добавить вызовы функций OpenAI.transcription и OpenAI.chat из головного скрипта ./src/main.js.
import < openai >from ‘./openai.js’ import < removeFile >from ‘./utils.js’ // ===== bot.on(message(‘voice’), async (ctx) => < try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) const link = await ctx.telegram.getFileLink(ctx.message.voice.file_id) const userId = String(ctx.message.from.id) const oggPath = await ogg.create(link.href, userId) const mp3Path = await ogg.toMp3(oggPath, userId) removeFile(oggPath) const text = await openai.transcription(mp3Path) await ctx.reply(code(`Ваш запрос: $`)) const messages = [] const response = await openai.chat(messages) await ctx.reply(response.content) > catch (e) < console.error(`Error while proccessing voice message`, e.message) >>)
Готово — бот «понимает» голосовые сообщения и умеет отвечать на них текстом. Но это еще не все: сейчас бот не сохраняет контекст общения, не запоминает предыдущие ответы и запросы. Он работает как друг, которому все равно, что вы ему рассказывали в прошлом.
Сохранение данных сессии
Осталось переписать код так, чтобы сообщения и их контексты сохранялись для каждого пользователя. Подробнее в комментариях к коду.
// импортируем вместе с Telegraf пакет session import < Telegraf, session >from ‘telegraf’ import < initCommand, processTextToChat, INITIAL_SESSION >from ‘./logic.js’ // ====== const bot = new Telegraf(config.get(‘TELEGRAM_TOKEN’)) // говорим боту, чтобы он использовал session bot.use(session()) // при вызове команды new и start бот регистрирует новую беседу, // новый контекст bot.command(‘new’, initCommand) bot.command(‘start’, initCommand) bot.on(message(‘voice’), async (ctx) => < // если сессия не определилась, создаем новую ctx.session ??= INITIAL_SESSION try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) const link = await ctx.telegram.getFileLink(ctx.message.voice.file_id) const userId = String(ctx.message.from.id) const oggPath = await ogg.create(link.href, userId) const mp3Path = await ogg.toMp3(oggPath, userId) removeFile(oggPath) const text = await openai.transcription(mp3Path) await ctx.reply(code(`Ваш запрос: $`)) await processTextToChat(ctx, text) > catch (e) < console.log(`Error while voice message`, e.message) >>)
import < openai >from ‘./openai.js’ export const INITIAL_SESSION = < messages: [], >export async function initCommand(ctx) < ctx.session = INITIAL_SESSION await ctx.reply(‘Жду вашего голосового или текстового сообщения’) >export async function processTextToChat(ctx, content) < try < // пушим сообщения пользователя в сессию (в контекст) ctx.session.messages.push(< role: openai.roles.USER, content >) // пушим сообщения бота в сессию (в контекст) const response = await openai.chat(ctx.session.messages) ctx.session.messages.push(< role: openai.roles.ASSISTANT, content: response.content, >) await ctx.reply(response.content) > catch (e) < console.log(‘Error while proccesing text to gpt’, e.message) >>
Бот сохраняет контекст общения до тех пор, пока вы не сделаете новую сессию.
Текстовый чат с ChatGPT
Бот умеет отвечать на голосовые сообщения и сохранять результаты в сессию. Давайте не будем ограничивать пользователей без микрофона и добавим обработку текстовых запросов. Для этого нужно просто обработать через фильтр сообщения с типом text и передать значение напрямую в ChatGPT.
bot.on(message(‘text’), async (ctx) => < ctx.session ??= INITIAL_SESSION try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) await processTextToChat(ctx, ctx.message.text) >catch (e) < console.log(`Error while voice message`, e.message) >>)
Облачные серверы с гибкой производительностью ядра vCPU
Деплой бота на облачный сервер
Все готово, но есть проблема: программа запущена на компьютере. Это неудобно, если вы хотите обеспечить круглосуточную работу бота. Ведь тогда нужно поддерживать бесперебойную работу компьютера и постоянное соединение с интернетом. Поэтому лучше перенести бота в облако — это сделать довольно просто.
Подготовка контейнера
Чтобы задеплоить бота на сервер, сначала нужно создать Dockerfile, который будет описывать процесс сборки приложения в контейнер. А для автоматизации команд docker build и docker run можно завести Makefile.
FROM node:16-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . ENV PORT=3000 EXPOSE $PORT CMD [«npm», «start»]
build: docker build -t tgbot . run: docker run -d -p 3000:3000 —name tgbot —rm tgbot
Теперь для запуска приложения на сервере будет достаточно написать команду make run .
Запуск сервера и загрузка бота
Поскольку бот работает с ChatGPT через API и потребление вычислительных ресурсов минимально, для деплоя подойдет сервер линейки Shared Line. Это линейка облачных серверов с возможностью оплаты только части ядра, например 10, 20 или 50%. Shared Line позволяет использовать все преимущества облака и не переплачивать за неиспользуемые ресурсы.
Для начала зарегистрируемся в панели управления и создадим новый сервер в разделе Облачная платформа. Затем — настроим его.
Далее устанавливаем на сервер Docker согласно инструкции, git и клонируем репозиторий с проектом. Проверяем конфигурации и API-ключи, собираем образ через make build и запускаем c помощью make run !
Пример работы бота.
Супер — бот работает! Дальше вы можете внедрить свой функционал. Например, по сохранению диалога с ботом и выводу истории запросов.
Заключение
Как мы видим, в разработке подобных Telegram-ботов нет ничего сложного. Тем более для хостинга такого проекта не нужно платить полную стоимость сервера: ресурсы оплачиваются по модели pay-as-you-go. Видеоверсия инструкции доступна по ссылке.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Инструкция
Как автоматизировать подготовку к собеседованиям с помощью Telegram-бота
29 сентября 2023
Инструкция
Как реализовать очередь в Redis
14 сентября 2023
Инструкция
Как генерировать истории с помощью ChatGPT и Telegram
Источник: selectel.ru
Заглавная страница
Редактор ботов ebot.one позволяет создавать ботов в Telegram без навыков программирования.
На базе данного редактора Вы можете самостоятельно создать бота для мессенджера Telegram, отвечающего Вашим индивидуальным целям и запросам. Широкий перечень инструментов открывает возможности для создания как интернет-магазинов и их представительств в Telegram, так и систем автоматизации процессов и многих других типов ботов.
Создание бота
БОТЫ ДЛЯ ГРУПП ВКОНТАКТЕ
БОТЫ ДЛЯ ТЕЛЕГРАМ
Создание ботов для мессенджера Telegram:
Чтобы создать бота и иметь возможность работать с ботом в Telegram необходимо:
- Создать аккаунт бота в мессенджере Telegram и получить ключ доступа к API
- Cоздать бота с типом «telegram» в редакторе ботов
- Указать ключ доступа в настройках созданного в редакторе бота
Как создать бота с помощью редактора (см. Видео):
Наши боты
Реклама бота (канала, паблика, стикера и т.д.)
Вы можете прорекламировать своего бота (канал, паблик, стикер и т.д.) на нашей площадке. Средства списываются только за переходы. Баннер с ссылкой на ваш объект в нашем каталоге будет показываться всем пользователям редактора. Место показа банера — область под панелью добавления ботов на главной странице редактора.
Боты на продажу
Вы можете создать бота или канал и выставить у на с его на продажу. С ботами для продажи можно ознакомиться на бирже. По ссылкам ниже можно ознакомиться с предлагаемыми проектом продуктами:
Экспорт/Импорт/Клонирование
Команды
Командами в боте называются слова, которые пользователь вводит вручную в поле ввода текста или вызывает через кнопки ПОД полем ввода текста.
Операции с командами
- Группировка команд
- Крепление иконки к команде
- Отработка внешнего скрипта по команде
- Последовательность команд
- Настройки команды
Глобальные команды
У любого бота, созданного с помощью нашего редактора, есть глобальные команды(доступные из любого уровня команд), которые можно вызвать как вручную, отправив боту текстом, так и привязав к кнопке.
Кнопки
Под текстом, который бот выдает пользователю в ответ на команду могут располагаться кнопки. Такие кнопки называются «кнопками в описании команды» и их не стоит их путать с кнопками ПОД полем ввода (командами). Эти два типа кнопок создаются в редакторе в разных местах, а именно — чтобы создать кнопку в описании команды нужно зайти в свойства команды.
Операции с кнопками к командам
- Вызываем команды из кнопок под текстом
- Обращение к внешним скриптам из кнопки (созданной в редакторе) под текстом
- Пример кнопок с вызовом внешнего скрипта и команды
- Генерирование кнопок под текстом из скрипта
- Генерирование кнопок под полем ввода из скрипта
- Кнопка «Назад»
Постраничный функционал
Администрирование и права доступа
Подтвердив права на администратора вы сможете спроектировать админку внутри бота или сделать через бота вывод лога с вашего внешнего проекта. Даже в случае если вы создали бота в телеграме и привязали его данные к редактору бота — в самом телеграме ваш аккаунт не отличается для бота от других — он не знает, что Вы его создатель. Бот будет общаться с вами наравне с другими. Но если вы захотите скрыть какие-то кнопки от других пользователей (чтобы они были видны только вам, что может потребоваться для администрирования в боте) — потребуется подтверждение прав админа.
Рассылочные механизмы
Используя наш редактор Вы сможете настроить рассылку или любой другой информации личкой подписчикам бота 🙂
Постинг в telegram канал
Платные механизмы
- Платные механизмы
- Рассылка
- Сохранение видео от пользователя на сервере
- Ответ от пользователя на Email
- Ответ от пользователя админу в telegram
- Обратная связь
- Обработка ботом сообщений группы
- Парсинг ботом username-ов из telegram группы
Дополнительные возможности
- В редакторе ботов доступна статистика посещений вашего бота. Дополнительные возможности с использованием API.
- Добавление языковых версий
- Создание бот-пабликов
- Получение логов активных команд при общении с ботом
API
- Получение из внешнего скрипта некоторых данных бота
- Возможность удаленно получить количество уникальных пользователей Вашего бота. Скачать пример
- Возможность удаленно получить количество подписчиков команд Вашего бота. Скачать пример
- Смена скрытности команды (для всех пользователей и следующие (персонально для выбранного пользователя) и доступ к команде (персонально для выбранного пользователя).
- Указать активную команду или команду которая ожидает ответ от пользователя без return_mas, а через API запрос из внешнего скрипта.
- API изменения сообщения бота из внешнего скрипта по ID сообщения
- Отправка произвольного сообщения пользователю.
- Рассылка по подписчикам бота из внешнего скрипта.
- Получение из внешнего скрипта списка команд по ID команды
Внешние скрипты
Клонирует ботов в тг
Роботы-помощники перестали быть футуристической фантазией и стали частью повседневности. Большинство из них нематериальны и используют для своей работы интернет. Тем не менее роботы становятся все более распространенным средством общения между пользователем и сервисом. Особенно заметную роль в этом процессе играют чат-боты. Согласно отчету The 2018 State of Chatbots Report, в 2018 году на чат-боты пришлось 15% случаев взаимодействия между клиентом и бизнесом. По данным опроса читателей ForkLog, Telegram-ботами пользуются 66% из 2207 человек, участвовавших в голосовании. При этом у 60% проголосовавших установлено до 5 ботов.
В этом спецпроекте мы расскажем о том, как устроены чат-боты, можно ли доверять им чувствительную финансовую информацию и что ждет их в будущем.
Спонсор спецпроекта — AnyCashBot — криптовалютный кошелек в Telegram. Сервис полностью автоматизирован и поддерживает BTC, BCH, ETH и LTC, а также фиатные деньги RUB, UAH и USD с вводом и выводом через VISA, Mastercard, Perfect Money, ADVCash, QIWI и PAYEER.
Перейти к боту
Подписывайтесь на рассылку
и не пропускайте новые спецпроекты
Спонсор спецпроекта — AnyCashBot — Telegram-бот, позволяющий хранить и обменивать криптовалюты. Бот поддерживает BTC, BCH, ETH и LTC, а также фиатные деньги RUB, UAH и USD с вводом и выводом через VISA, Mastercard, Perfect Money, ADVCash, QIWI и PAYEER. AnyCashBot — это первый криптовалютный кошелек в Telegram.
Перейти к боту
Подписывайтесь на рассылку
и не пропускайте новые спецпроекты
ЧТО ТАКОЕ БОТЫ
И ДЛЯ ЧЕГО ОНИ НУЖНЫ
Бот — это скрипт, который выполняет задания пользователя. Как правило, боты имеют ограниченный функционал, рассчитанный на конкретные запросы пользователя. Тем не менее существуют и более сложные боты.
Siri и Alexa имеют голосовой интерфейс управления, а также выполняют широкий спектр задач. Говорящая скрепка из старого MS Word не управляется командами, но реагирует на ключевые слова.
В отличие от них чат-боты в Telegram и других мессенджерах имеют текстовый интерфейс и ограниченный набор команд. Если более сложная Siri обращается к ИИ на сервере Apple, то чат-бот отправляет запрос на сервер веб-сайта, с которым работает пользователь. Сам чат-бот не выполняет никакой работы и выступает только в роли посредника между пользователем и сервисом через интерфейс мессенджера.
Полезные боты в Telegram
Aviasales — ищет авиабилеты
AnyCashBot — обменивает криптовалюты
Fast AID — помогает оказать первую доврачебную помощь
ToPDF — конвертирует файл в формат PDF
ГраммарНаци — проверяет орфографию
Киноман — советует фильм на вечер
Книги — позволяет найти и скачать книгу по имени ее автора
ЧГК — выбирает вопросы из базы данных «Что? Где? Когда?» и дает правильный ответ
Создать чат-бота достаточно просто. В Telegram подготовили подробную инструкцию по интеграции бота в свой сервис через мессенджер. При этом функционал бота зависит только от желаний разработчика.
Интересный факт
По данным портала Statista, в период с 2016 по 2019 количество пользователей мессенджеров выросло с 1,58 млрд до 2,18 млрд, а к 2021 ожидается, что их станет почти 2,5 млрд. При этом, согласно Consumer Barometer от Google, большинство действий в интернете совершается с мобильных устройств, таких как смартфоны и планшеты. Все это обусловливает рост популярности чат-ботов.
Мнение эксперта
Чат-боты создаются для эффективного решения пользовательских проблем. Разработчик бота детально продумывает его интерфейс и механику работы, так что пользователь получает простой и понятный продукт. Боты позволяют получить доступ к большому количеству сервисов из мессенджера, не переключаясь между приложениями. При этом небольшое количество команд экономит трафик, если сравнивать с навигацией по веб-страницам. Это актуально при использовании мобильного интернета.
— Евгений Григоренко, директор по развитию AnyCashBot.
Перейти к боту
Все это обусловливает популярность чат-ботов среди пользователей. Ряд исследований предполагает, что чат-боты и голосовые боты-ассистенты изменят бизнес-практики уже в следующем десятилетии.
Интересная статистика
- Использование чат-ботов позволит компаниям суммарно экономить до $8 млрд в год (источник: Juniper Research).
- К 2017 только 1/3 всех клиентских сервисов требовали участия живого человека (источник: Gartner).
- 80% опрошенных маркетологов и топ-менеджеров в Великобритании, Франции, Нидерландах и ЮАР планируют использовать чат-боты для оказания услуг. Автоматизировать услуги к 2020 году планируют 40% из них (источник: Oracle).
- К 2020 году средний пользователь будет разговаривать с ботами чаще, чем с супругом/супругой (источник: Gartner).
- К 2025 году капитализация рынка чатботов составит $1,23 млрд с годовым ростом 24,3% (источник: Grand View Research).
ЧАТ-БОТЫ И БЕЗОПАСНОСТЬ
Как и другие чат-боты, Telegram-бот — это скрипт, выступающий посредником между пользователем мессенджера и сторонним сервисом. Безопасность Telegram-ботов обеспечивает Telegram.
Вся информация, передаваемая через Telegram, шифруется с помощью криптографической системы. Она основана на протоколе MTProto и использует современные алгоритмы шифрования RSA-2048 и DH-2048. В то же время в русскоязычных и англоязычных источниках критикуется система шифрования, используемая в Telegram. В частности, критики указывают на слабость платформы перед атакой посредника (man-in-the-middle attack) и атакой злой горничной (evil maid attack). Павел Дуров неоднократно отвергал подобную критику. Однозначной оценки безопасности Telegram пока не существует.
Как решается вопрос безопасности в AnyCashBot
Телеграм-бот защищен современными технологиями шифрования. Все сведения, кроме никнейма, остаются только в переписке с ботом, то есть сохраняются локально путем сквозного шифрования — в любой момент их можно удалить без следа. Деньги пересылаются с помощью электронных чеков. Такие чеки не раскрывают личные данные пользователей и не позволяют перехватывать транзакции.
— Евгений Григоренко, директор по развитию AnyCashBot.
Перейти к боту
Другая сторона безопасности — надежность стороннего сервиса, к которому обращается бот. По этой причине не передавайте чувствительные данные сервису, в надежности которого сомневаетесь. К чувствительным данным относятся номера банковских счетов, паспорта и других документов.
Признаки поддельного/клонированного онлайн-сервиса
- URL поддельного сайта визуально напоминает URL настоящего, но они не совпадают.
- Используется протокол HTTP вместо HTTPS.
- В текстах на сайте много грамматических и орфографических ошибок.
- На сайте много рекламных баннеров.
- Сайт пытается делать переадресацию или открывает новые окна без согласия пользователя.
- Сайт сильно «тормозит» из-за большого количества запущенных процессов.
- Сертификат сайта не соответствует минимальным требованиям для зарегистрированных онлайн-сервисов (OV SSL).
- Сайт отмечен как «ненадежный» в Google Safe Browsing Transparency Report.
Поддельные сервисы и онлайн-магазины могут предлагать пользователю установить чат-бота. Такие боты оказываются клонами, созданными для фишинга или мошенничества. При этом чат-бот может маскироваться под официального бота магазина или обменника. Чтобы этого избежать, бота следует добавлять только на официальном сайте провайдера услуг или на сайте, который авторизовал провайдер.
БУДУЩЕЕ ЧАТ-БОТОВ
По данным The 2018 State of Chatbots Report, количество ботов и их пользователей с годами будет только расти.
Telegram-боты могут стать частью Telegram Open Network на блокчейне. В соответствии с соглашением между Telegram и инвесторами TON ее запуск должен произойти не позднее 31 октября 2019 года. Чат-боты смогут использовать токены Gram для проведения транзакций, что усилит роль ботов в экосистеме мессенджера.
Интересный факт
- Боты станут более человекоподобными в своем поведении.
- Боты будут заниматься машинным обучением.
- Боты смогут заменить приложения.
- Появится больше чат-ботов с голосовым управлением.
Мнение эксперта
Постепенно привычная структура файлов и адресов сменяется модульной. Это уже проявляется на примере операционной системы Google Fuchsia и других сайтов. Современные боты — прототипы комплексных помощников будущего. Вы сразу получаете систему, которая выполняет необходимые функции. Нет риска в чем-то ошибиться, что-то собрать или запустить «не так»: все уже отлажено и работает, остается только начать пользоваться. Поэтому чат-боты перспективнее сайтов.
— Евгений Григоренко, директор по развитию AnyCashBot.
Перейти к боту
ПАМЯТКА ПОЛЬЗОВАТЕЛЮ ЧАТ-БОТОВ
- ДОВЕРЕННОЕ УСТРОЙСТВО
Никто не сможет защитить пользовательские данные, если к устройству получат доступ посторонние. Если устройство недостаточно защищено или вы подозреваете, что им пользовался кто-то кроме вас, не передавайте с него чувствительные данные.
Заходите в Telegram только с устройства, которому доверяете. - НАДЕЖНОЕ ПОДКЛЮЧЕНИЕ
Не пользуйтесь публичным WiFi, особенно если подключение не защищено паролем. Доступ к открытой сети может получить кто угодно. Передача данных по такой сети позволяет злоумышленникам легко перехватить любую транзакцию.
Используйте подключение к интернету, в котором вы полностью уверены. - ПОДЛИННОСТЬ
Ссылку на бота нужно брать только на официальном веб-сайте сервиса или на сайтах, авторизованных разработчиком. Боты из непроверенных источников могут оказаться клонами, созданными для кражи ваших личных данных или денег.
Убедитесь, что бот, с которым вы работаете — не клон.
Советы по работе с AnyCashBot от разработчиков
Перейти к боту
ИТОГИ
Чат-боты могут эволюционировать в отдельную экосистему и упростить жизнь пользователям. Также они могут стать новым каналом взаимодействия между бизнесом и клиентами. Индустрия чат-ботов показывает устойчивый рост и имеет хорошие перспективы развития. Сейчас же боты — простой и безопасный способ получить необходимый сервис, не выходя из мессенджера.
Подписывайтесь на рассылку
и не пропускайте новые спецпроекты
Автор — Дженни Айсгарт
Редактор — Татьяна Оттер
Дизайнер — Зара Аракелян
Проектный менеджер — Дженни Айсгарт
Руководитель — Влад Лихута
Автор — Дженни Айсгарт
Редактор — Татьяна Оттер
Дизайнер — Зара Аракелян
Проектный менеджер — Дженни Айсгарт
Руководитель — Влад Лихута
Подписывайтесь на рассылку
и не пропускайте новые спецпроекты
Источник: forklog.com