Бот который пишет сообщение каждую минуту

Обновлено: 03.07.2024

Нужно быстро куда-то записывать напоминания, которые будут потом вам сами присылать уведомления? Да так, чтобы можно было писать обычным человеческим языком, а вас при этом прекрасно понимали? Мне тоже, поэтому я написал бота под это дело.

Когда я в очередной раз вручную переносил напоминания нашей мамы, которые она писала в семейном телеграмм-чате, у меня возникла идея создать телеграмм-бота, который будет записывать, что мне надо сделать, и напоминать об этом, но при этом он должен был понимать естественную человеческую речь.

Забегая вперёд, скажу, что этого удалось добиться, как и также парочки других приятных особенностей:

Если вам не терпится опробовать бота прямо сейчас, то вот ссылка на него.

Бот был написан на Node.js. Почему? Просто потому что javascript в данный момент является одним из самых популярных языков программирования. Я также думал попробовать написать бота на Python или php, но я остановился на js, так как он обладает схожим синтаксисом с знакомым мне C++.

Алгоритм работы бота следующий:

Для повышения безопасности я добавил шифровку текста напоминаний при помощи встроенной в Node.js библиотеки crypto.

Выбор СУБД PostgreSQL обусловлен тем, что она бесплатна и изначально интегрирована в платформу Heroku, на которой хостится бот. В базе данных всего 3 таблицы: Пользователи, Чаты и Напоминания.

Также мною была с нуля написан ORM интерфейс для базы данных. Я знаю, что наверняка кто-то это уже сделал, но я хотел попробовать сделать это сам и, таким образом, уменьшить количество зависимостей.

Прежде чем приступать к распознаванию времени, нам сначала нужно заменить все слова в строке, записанные в виде слов, реальными числами. Для этого я написал npm библиотеку parse-word-to-number. Она берёт строку и возвращает строку, в которой все возможные слова были заменены числами.
Для соотнесения фильтруемых слов из исходной строки с подходящими словами из словаря я использовал расстояние Дамерау-Левенштайна. Это позволяет библиотеке понимать слова, написанные с ошибками.


Ознакомившись с интерфейсом БроБот, активировав бесплатным ключом(на первых порах будет вполне достаточно, чтобы попробовать возможности автоматической переписки только в одной социальной сети, например в VK), надо соответствующей кнопкой добавить свой аккаунт в ВК. Программа для переписки обладает широким рядом возможностей, удобно настраиваемых по желанию пользователя.

Ручной режим.

Одноразовый ответ.

Запрограммированный собеседник.

Инф — виртуальный слуга.

бот3

Встроенный бот

Предустановленный словарный запас поможет Вам понять принцип работы встроенного бота. Ознакомившись с работой вы можете но сами настраивать варианты и добавлять шаблоны, как и при использовании скрипта, но без знания языка.

робот4

Автоматическая переписка в VK пригодна для развлечения и отдыха от пустой болтовни. Но огромные возможности для бизнеса открываются, если использовать её в паре с автоматической рассылкой, как описано здесь.

Хотите получить БроБот бесплатно?

Присылайте нам кейсы своих успешных проектов с БроБотом, мы опубликуем его в историях успехов и мы поделимся с Вами безлимитным тарифом!


Подключение бота для ВК актуально в следующих случаях:

  1. Требуется обработка большого числа однотипных обращений от подписчиков (участников) группы.
  2. Когда нужно сделать рассылку.
  3. Фильтрация заявок в системе техподдержки.
  4. Мгновенный ответ на обращение, когда нет возможность подключить достаточное количество людей.


Боты для ВК способны выполнять самые разные сценарии и пригодятся для страниц любой тематики. Пользователь может сам придумать цель и тему, после чего сделать бота для ВК и разместить его у себя в сообществе. Кроме того, программу можно использовать для повышения внимания к группе. С ее помощью можно создавать квесты, присылать мультимедийные материалы, подключить API или решать иные задачи.

Как это работает?



С помощью встроенных методов

Самый простой путь — воспользоваться приложением для рассылки.




Перед отправлением загрузите базу подписчиков, для чего жмите на соответствующую кнопку. Система загружает всех пользователей, которые писали в сообщество. На сбор информации уходит до нескольких минут в зависимости от количества диалогов. В дальнейшем новые участники паблика автоматически попадают в этот перечень.




При желании можно запланировать рассылку. Для этого жмите кнопку Запланировать, выберите дату или жмите отметку Повторять каждый день. После выполнения этой работы рассылка осуществляется в автоматическом режиме. Заданные данные можно менять по собственному желанию.


Самостоятельное написание

  1. группа, от имени которой будет работать бот ВК;
  2. сервер, принимающий информацию о произошедших событиях;
  3. логика программы (реакция на то или иное событие).


В появившемся разделе приведены подробные инструкции, советы и техдокументация.

С помощью специальных сервисов

Робочат

Чтобы создать бота для ВК на robochat.io, сделайте такие шаги:


  • Выберите группу и подключитесь к ней. В связи с изменением правил ВКонтакте не нужно использовать функцию Ответ неподписчику. Также ботам запрещается требовать подписаться на группу, делать отметки Нравится или репосты, отправлять рекламу или нарушать иные правила соцсети.


БотВК

Для создания бота сделайте следующие шаги:

  • Войдите на сервис создания бота для ВК.
  • Кликните на кнопку Создать бота прямо сейчас. Система запрашивает разрешение на доступ к аккаунту и авторизует пользователя. В ЛК можно перейти в раздел ботов и посмотреть сведения о числе подключенных скриптов, командах, балансе и других данных.


Стоимость бота в месяц за одну группу — 100 р. Рассылка покупается за один раз за 500 р.

Сразу отметим, что одними из лучших ботов являются сервисы, которые рассмотрены выше — РобоЧат, а также Бот ВК. Первый умеет собирать заявки, делать рассылки в ВК, проводить тестирование, автоматически отвечать пользователям и т. д. Кроме того, здесь предусмотрено много других полезных функций. Не менее полезным является BotVK. Его особенность — создание ботов для ВК, способных общаться с живыми людьми, выдавать необходимую информацию подписчикам, развлекать аудиторию, осуществлять рассылки и управлять сообществом. Подробные сведения о роботах можно почитать на порталах, где они представлены.


Но существует еще ряд скриптов. Которые пригодятся пользователям:


Существуют и другие боты, но они менее популярны и обладают меньшим функционалом. Оптимальный вариант — не тратить деньги на покупку уже готового решения, а сделать скрипт самостоятельно с помощью одного из доступных сервисов.

Плюсы и минусы использования

Применение чат-ботов — неизменный этап в развитии сообщества ВК. Технология появилась сравнительно недавно, но уже внедрена на многие сайты и активно используется в социальных сетях. Все больше пользователей групп в ВК используют такие скрипты для общения с клиентами и разгрузки своих администраторов. Решение о применении программ — личное дело каждого. Здесь важно учесть положительные и отрицательные нюансы.



Человек сам принимает решение — действовать самостоятельно или использовать специальную программу. Если вы решились использовать бота, необходимо сразу получить информацию о его цене, сроках внедрения, а также особенностях настройки.

Суперпростой способ создать бота, не зная программирования.

Многие слышали про чат-ботов и роботов для общения: им пишешь, они отвечают, получается диалог с машиной. Чат-бот может рассказать анекдот, поискать за вас в интернете, забронировать столик в ресторане и что угодно ещё, чему его обучат создатели.

Иногда общение с ботом выглядит как общение с человеком. Может даже показаться, что там работает искусственный интеллект — и иногда так действительно бывает. Но часто всё проще: это алгоритм, который умеет распознавать некоторые ваши слова и готовить ответы по заранее заготовленным шаблонам. Чем алгоритм более разветвлённый, тем естественнее и полезнее бот.

Давайте сделаем собственного чат-бота с очень простым алгоритмом. Позже вы сможете усложнить его, как захотите. Но сначала — самая база для тех, кто никогда не писал код.

На чём будем решать

Обычно, чтобы написать какую-то программу, нужно сделать несколько действий: например, скачать программу-обработчик языка, завести проект, написать программу, скомпилировать. И только потом ей можно пользоваться. Но мы пойдём по более простому пути: напишем программу, работающую прямо в браузере, через который вы читаете эту статью. Написать такую программу можно лишь на компьютере, на телефоне придётся пользоваться ботом.

Мы будем решать задачу на языке JavaScript — это язык программирования, который встроен в ваш браузер и на котором написать программу можно прямо сейчас, ничего не устанавливая.

Чтобы сделать что-то на JavaScript, нужно открыть консоль. Почти во всех современных браузерах это делается сочетанием клавиш Shift + Ctrl + J или Cmd + Alt + J. Справа или снизу появится дополнительное окно, в котором уже будет что-то происходить:

Когда вы открываете консоль, она сразу готова выполнять ваши команды. Если в неё вставить программу, написанную на JavaScript и нажать Enter, ваш браузер её выполнит. Если программа написана с ошибками, консоль сама подсветит их. Можно отправлять в консоль программу кусками или даже построчно: браузер будет помнить всё, что происходило в вашей программе, пока вы не перезагрузите страницу.

Первая строка

Вставим её в консоль и нажмём Enter:

Вот мы и начали делать своего чат-бота, который нас уже поприветствовал в консоли. Теперь сделаем так, чтобы мы тоже могли ему что-нибудь ответить. Для этого нам понадобятся переменные.

Название переменной может быть практически любым, главное, чтобы оно начиналось с буквы. По-русски переменные называть нельзя, только буквами латинского алфавита. Можно было бы назвать переменную imya или zovut, но программисты считают, что чем проще название переменной, тем лучше.

Теперь посмотрим содержимое переменной. Следующая команда выведет то, что сейчас записано в переменной Name:

Можно посмотреть, какое сегодня число. Это внутренняя системная переменная. Строго говоря, это не совсем переменная, но для начала давайте считать так:

Но это мы всё смотрим во внутренности компьютера. А нам нужно спросить что-то у пользователя. Чтобы мы могли ввести новые данные в нашу программу, используем команду promt()

Вставьте в консоль команду var name = prompt('Как тебя зовут?'); и посмотрите, что произойдёт. Компьютер выведет окно, и будет ждать, пока вы введёте туда своё имя. Окно выглядит красиво: давайте в диалоге общаться с компьютером не через консоль, а через такие появляющиеся окошки. Для этого напишем новые команды:

Пусть компьютер проявит вежливость и скажет, что ему приятно с нами познакомиться. Чтобы он смог обратиться к нам по имени, используем переменную name — в ней как раз хранится то, что мы ответили компьютеру:

Чтобы вывести осмысленную фразу, мы взяли начало 'Привет, ', затем с помощью плюсика соединили со значением переменной name, которая хранит наше имя, а потом ещё одним плюсиком добавили к фразе концовку. Чтобы компьютер знал, что мы хотим вывести на экран текст, а не числа, используются кавычки. Компьютер воспринимает как текст то, что внутри кавычек. И выводит точно в том виде, в котором написано.

Расчёт дня рождения

Давайте соединим все наши команды в одну программу и допишем несколько новых фраз:

Обратите внимание: у нас появился новый вопрос и новая переменная hobby , в которой хранится информация об увлечении. А ещё — комментарии, которых можно добавлять сколько угодно. JavaScript не обращает внимания на то, что написано после двух косых черт:

Что ещё посмотреть

Вот кое-что, что может вам пригодиться при создании первого чат-бота:

performance.now() — эта команда возвращает время в миллисекундах с момента открытия текущей страницы. Можно поделить на 1000, и вы узнаете, сколько секунд вы сидите на какой-то странице. Если поделить на 60000 — сколько минут.

setTimeout() — позволяет выполнить любой код через определённое время. Например, вы можете задать вопрос и дать ровно минуту на размышление, после чего появится окно для ответа.

setInterval() — то же самое, что и предыдущее, но выполнение кода повторяется с равномерным интервалом, например, раз в 5 минут. Если вы хотите научить чат-бота, чтобы он раз в час напоминал попить воды, эта команда — то, что нужно.

Как пользоваться этими штуками, мы расскажем в одной из будущих статей, но вы всегда можете самостоятельно поискать в интернете, как они работают. Пользуясь этими тремя возможностями JavaScript, можно создать неплохого бота, который будет следить за вашей продуктивностью и интервалами работы.

Читайте также: