Чат бот и грибы
Чат моего друга. С его разрешения.
Чат моего друга. С его разрешения.
Добрый вечер, пикабушники.
Представляю вам бота на основе нейросетей для общения: Настя
Попробовать пообщаться с ним можете тут https://t.me/NstMurBot
бот мой, Если есть вопросы - отвечу в комментариях.
Привет Пикабу! Сегодня я хочу рассказать о своем pet проекте, который носит название Trigger bot. Мы с командой его создали когда устали искать информацию по чатам.
Бот бесплатный для всех и останется таким, пока мы сами его используем в своей работе.
Для затравки приложу вот такое видео, чтобы обозначить существование проблемы :)
Проблематика
Вся проблематика, которую мы хотели закрыть ботом, — мы закрыли. И она видна на гифке выше. Если смотреть не хочется, то вкратце:
Еду, значит, я в метро\автобусе\такси — на работу. И тут новому клиенту\подрядчику\коллеге срочно нужны наши реквизиты. Для чего угодно (думаю, вы меня понимаете). Где мне их найти быстро? В загруженных файлах на телефоне? Искать по рабочим чатам или в «Избранном»? Лезть с вопросами к юристам? Все эти (и не только эти) пути исхожены уже до такой степени, что в какой-то момент стало настолько не смешно, что захотелось свежего решения.
Все то же самое, что применимо к реквизитам, можно применить и к другим вещам. Например, шаблон договора, ссылка на какой-то сайт, куда надо заходить раз в год, логотип «в линиях», смешная гифка и так далее.
Решение
К моменту создания бота мы занимались их разработкой уже как пару лет. И поэтому логичным решением показалось именно создание очередного бота. (Бот родился не вчера. Ему уже больше года. А нашему направлению по ботам уже четыре.)
Честно признаться — выход из ситуации не уникальный. Америку я не открыл. Такая функциональность встречалась в разном виде в разных ботах, и, может быть, вы его даже видели. А может быть видели и не обращали внимания. Я постарался «консолидировать опыт» других разработчиков, чтобы решить свои проблемы. И сейчас пишу об этом вам.
Итак, что делает бот?
Функциональность
Все так просто, что многие не могут даже поверить.
👉 Добавляем бота @trigger_new_bot в чат (можно не делать админом).
👉 Пишем какое-то сообщение или кидаем гифку\файл\видео — что угодно.
👉 Делаем реплай нужного сообщения и пишем команду /set_trigger *ключевое слово* (или триггер) например «/set_trigger реквизиты».
👉 Бот пришлет сообщение «триггер установлен».
👉 Все, пишем то *ключевое слово* которое только что писали (ровно так же прям), и он пришлет то сообщение, куда был реплай.
У меня есть чаты, где триггеров созданы сотни, и куча информации всегда под рукой. Достаточно зайти в чат, вбить нужное сочетание слов, и бот триггернется нужным сообщением. Просто и удобно.
Еще есть команда /del_trigger для удаления триггера, и /help. Это вроде очевидно.
Ну и он специально сделан чтобы отличать заглавные и строчные буквы. Триггеры «Реквизиты» и «реквизиты» — это разные триггеры, что тоже можно использовать интересным образом. Хотя, казалось бы, одна буква разница.
Это может и запутать, конечно. Но в этом случае достаточно завести на оба варианта одни и те же реквизиты :)
Применение
Как оказалось, такую функциональность можно применить в бесчисленное количество сценариев. В одном из чатов настроена цепочка так, что с ним можно петь (он продолжает слова песни). В другом он просто напоминает правила чата, когда добавляются новые люди (не тупо дублирует каждый раз, а по запросу админа, очевидно).
Самая прелесть в том, что больше он не делает НИ ЧЕ ГО. В личке молчит, в каналах молчит. Он просто тригерится когда надо — и все. Только в групповых чатах. Я встречал, что другие разработчики добавляли такую функциональность «в довесок» к «основной» функциональности своего бота. Или зашивали какие-то триггеры свои «смешные». А мы просто отрезали все лишнее, и остались довольны.
Боту, по сути, без разницы, что вы ему хотите засунуть в реплай. Он не скачивает это видео или документ себе. Он сохраняет лишь ссылку на сообщение (спасибо Дурову) . Потом обращается по этой ссылке и воспроизводит.
Что дальше?
Есть несколько мыслей, как сделать бота поинтереснее. Но есть опасение, что он утратит свой «шарм минималистичности». Например, чтобы сразу можно было создавать несколько триггеров одним сообщением. Или возможность установки триггеров сразу во все чаты, где есть и бот и пользователь, который устанавливает триггер. Что думаете об этом?
Что еще?
— Telegram канал моего агентства по разработке чат-ботов — тут много новостей и интересные кейсы.
— Ссылка на мой личный Telegram-канал. Буду рад вас всех там видеть :) Я начал недавно и подписчиков пока не много.
Нид хэлп!
Спецы по ботам в телеге есть?
Хочу реализовать электронный журнал для педагогов в телеге.
Чтобы они могли отмечать присутствующих тыком как в опросах. а результат экспортировался в гуглдок или почту.
1) Это технически реализуемо?
2) сколько это может стоить?
UPD: всем спасибо, решение найдено
Есть пока ещё 100% рабочая формула как быстро попасть на оператора в чате Альфы (возможно в любом другом "ботиризированом" чате) - пишите свой вопрос, делаете скриншот своего сообщения, обрезаете лишнее и отправляете. Бот не умеет пока распознавать картинки и диалог сразу отправляется на живого оператора
В работе часто приходится сохранять данные, полученные от пользователей чат-бота. Показываю как это легко сделать.
Например, мы хотим записывать людей на образовательный курс "Основы мастерства". Для этого нужно спросить пользователя и сохранить в Гугл таблице имя, телефон и электронную почту.
Пошагово
1. Регаемся на конструкторе чат-ботов Botmother, в личном кабинете привязываем аккаунт к Google почте (можно на свою или создать отдельную) и создаем бота.
2. В конструкторе на стартовый экран добавляем компонент "Сообщение" и спрашиваем имя. Это первое сообщение от бота.
3. Добавляем компонент "Ввод от пользователя" для сохранения имени в переменную Name c типом данных Текст.
4. Добавляем компонент "Сообщение" и спрашиваем номер телефона.
5. Добавляем компонент "Ввод от пользователя" для сохранения телефона в переменную Phone с типом данных Число.
6. Добавляем компонент "Сообщение" и спрашиваем электронную почту.
7. Добавляем компонент "Ввод от пользователя" для сохранения почты в переменную Email с типом данных Email.
8. Добавляем компонент "Сообщение" и благодарим за запись.
9. Добавляем компонент "Google таблицы", пишем название (например, "Запись на курс"), добавляем ключи и значения. Ключ - это будет название столбца в таблице, значение - наша переменная. Имя - Name, Телефон - Phone, Почта - Email.
10. Сохраняем (советую сохраняться чаще).
Открываем бота и пошагово проходим все этапы - записываемся на курс. Пишем свое имя, телефон и почту.
Открываем Гугл диск - там должна появиться новая таблица с названием и заполненными данными.
Разумеется, можно настроить бота по-своему, например, задавать больше вопросов, передавать в гугл больше данных или сделать сложные сценарии.
Вот как выглядит экран с компонентами:
Как научить бота говорить на разных языках?
Скажем, затеяли супер-проект на миллионную аудиторию. Хорошо бы сделать бота, говорящего на разных языках. Даже в Европе далеко не все говорят на английском и вообще народ любит нативные продукты.
Например, OfficeGymBot, говорит на 9 языках: английский, испанский, русский, французский, итальянский, германский, хинди, китайский и арабский.
В плане выбора языка у бота 2 сценария:
1) Если мессенджер передаёт язык, установленный в приложении пользователя, то бот самостоятельно определяет язык и весь контент (сообщения) отправляем на этом языке.
2) Если мессенджер не передал язык пользователя, то бот предлагает пользователю выбрать язык самостоятельно.
Также пользователь может в любое время поменять язык через команду /menu -> Language.
Как это сделать?
Просто! Вот скриншоты с комментами из конструктора botmother.
1. Сначала проверяем язык пользователя
На стартовый экран добавляем компонент "Развилка", который проверяет язык пользователя и направляет его на соответствующий экран (в зависимости от установленного языка).
Если мессенджер не передал значение языка, то направляем пользователя на экран "Выбрать язык" - для самостоятельного выбора ("Переход по умолчанию"). Он выбирает свой язык и также направляется на соответствующий языковой экран.
Кстати 👆 переменная мессенджера this_user.language хранит у себя информацию о том, какой язык установлен у пользователя и на каком языке отправлять ему сообщения. Соответственно, "en" - английский, "es" - испанский, "ru" - русский и так далее. Лучше использовать официальный код языка по стандарту ISO 639-1.
2. Потом сохраняем язык пользователя
Создаём языковые экраны, в которых будем сохранять язык пользователя в свою переменную language. Она понадобится для подстановки нужного текста в сообщение.
Направляем пользователя на соответствующий языковой экран для присвоения значения переменной. Например, на экране "English language" присваиваю значение "en" в переменную language. Теперь сообщения этому пользователю будут приходить на английском.
Аналогично можно присвоить значения и переводить контент на другие языка.
3. Добавляем тексты на разных языках
Создаём экран «Приветствие» и добавляем компонент "Сообщение" - это текст, который отправляется пользователю. Подготовим текст приветствия на нескольких языках и вставим небольшой код:
{{#eq language "en"}}Hello{{/eq}}{{#eq language "ru"}}Привет{{/eq}}{{#eq language "es"}}Hola{{/eq}}
Формула {{ #eq language "en"}} используется для отображения текста по определенным правилам:
{{ }} - означает добавление кода (хелпера);
#eq - проверка данных (условие);
language - переменная, которую я создал, чтобы записать в него код языка пользователя;
"en" - значение, записанное в переменную (в данном случае английский язык)
/eq - завершение проверки данных (условия).
И всё!
Теперь приветствие отобразится на языке пользователя: Hello, Привет или Hola.
Можно сделать сколько угодно языков.
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Реклама АО «Кордиант», ИНН 7601001509