Как создать телеграм-бота | База знаний Selectel
С помощью ботов можно упростить себе задачу коммуникации с пользователями, создав для них умного помощника. Боты понимают текстовые команды и могут обращаться к API вашего вебсайта, сервиса или быть самостоятельным продуктом с уникальными услугами.
Обычно, для создания бота требуется сервер, но в этой статье мы разберём подход, позволяющий обойтись без него. Он идеален при резких колебаниях количества запросов и прекрасно выдерживает пиковые нагрузки.
Настроить Телеграм-бота на Облачных функциях, используя официальный API и заготовленный нами пример, можно в 3 этапа:
- Запрограммировать логику работы Телеграм-бота.
- Зарегистрировать нового бота в Telegram.
- Связать бота и его логику воедино.
Запрограммировать логику работы Телеграм-бота
Чтобы упростить задачу, мы написали пример такого бота. Его исходный код доступен по ссылке github.com/selectel/cloud-telegram-bot. Он понимает команды:
/start
с приветственным сообщением;
с ответом в виде стикера;/getwebhook
чтобы вы могли получить информацию о настройках вашего бота;/setwebhook
для настройки вашего бота, но об этом позже.
Пройдите следующие шаги с нашим примером бота, чтобы освоиться:
- Скачайте исходный код как архив («Clone or download» → «Download ZIP») и распакуйте его.
- Внутри должно быть:
- «setup.py» с минимальным кодом, чтобы Python-окружение приняло содержимое папки за модуль для установки;
- «requirements.txt» с описанием зависимостей;
- «bot» — папка с исходным кодом нашего бота.
- Выделите все эти файлы и папки, а затем создайте из них новый ZIP-архив, тогда исходный код внутри архива не будет иметь лишних папок (как в случае с архивом, скачанным с github).
- Перейдите в Облачная Платформа → Функции → Создать функцию, подробнее.
- Задайте имя, например, «Bot».
- Загрузите ZIP-файл в качестве Исполняемого кода.
- Укажите Путь к файлу в архиве как «/bot/tele_bot.py».
- Укажите Вызываемую функцию в коде как «main».
- Добавьте переменную окружения «TOKEN», но пока не задавайте для неё значения, мы коснёмся этого на следующем этапе.
- Нажмите кнопку Сохранить и развернуть.
- Поставьте галочку, что нужна Публичная ссылка.
Теперь у нас есть API, реализующее логику ответов бота. Следующим этапом мы зарегистрируем его в Telegram.
Зарегистрировать нового бота в Telegram
Чтобы Telegram знал о существовании нашего бота, его нужно зарегистрировать. Для этого существует только один способ:
- Найдите бота @BotFather в Телеграм. Это официальный бот, созданный специально для управления ботами.
Отправьте ему команду:
/newbot
@BotFather спросит вас, как вы назовёте вашего бота. Следующим сообщением отправьте его название, заканчивающееся на «_bot».
Запишите полученный токен от @BotFather — это ключ для работы с Telegram API.
Теперь у нас API, регистрация бота в Telegram и его токен. Осталось связать это вместе.
Как связать бота и его логику воедино?
На этом этапе надо сделать так, чтобы бот знал токен пользователя, а Telegram знал, где его API:
- Найдите переменную окружения «TOKEN» в настройках функции. Мы оставили её пустой на первом этапе.
- Укажите в этой переменной токен вашего бота, который получили от @BotFather.
- Нажмите Сохранить и развернуть.
Далее нужно направить сообщения, которые пользователи отправляют в Telegram, нашему боту — в то API, которое для него создали.
Способ 1. Через бота @SelectelServerless_bot
- Найдите бота @SelectelServerless_bot в Телеграме.
Введите команду:
/setwebhook <Токен от вашего бота> <URL от облачной функции>
Бот ответит тем, что получит из Telegram API. Если всё хорошо, это будет «true».
Чтобы удостовериться в том, что всё корректно, отправьте команду:
/getwebhook <Токен от вашего бота>
В ответ должна прийти информация о webhook, в том числе указанный вами URL.
Способ 2. Из заготовленной формы
Откройте форму (или скопируйте её к себе в Облачное хранилище). Вставьте токен от вашего бота в первое поле, URL облачной функции во второе и нажмите на кнопку «Set Webhook». Произойдёт обращение к api.telegram.org, и вы увидите результат.
Примечание: может понадобиться наличие VPN.
Итог
Готов для работы бот, доступный в Телеграме, отвечающий на команды и способный автоматически масштабироваться под нагрузкой и без сервера.
Как подключитьTelegram чат-бот | SendPulse
Чат-бот — это автоматизированный многофункциональный помощник, который может показывать информацию подписчикам и собирать информацию по запросу согласно заранее подготовленным сценариям.
Следуйте пошаговой инструкции, чтобы создать своего первого чат-бота для Telegram мессенджера или подключить существующий к сервису SendPulse для дальнейшей настройки.
Если у вас уже создан бот, пропустите первый пункт и переходите сразу ко второму.
Как создать нового бота в Telegram
Откройте мессенджер Telegram, войдите в вашу учетную запись или создайте новую.
Шаг 1. Введите в поле поиска @BotFather и выберите бота.
Обратите внимание, что у официального бота Telegram будет стоять синий подтверждающий знак возле имени в виде галочки.
Шаг 2. Нажмите «Запустить» для активации бота BotFather.
В ответ вы получите список команд по управлению ботов.
Шаг 3. Выберите или напечатайте и отправьте команду /newbot
.
Шаг 4. Дайте имя боту — клиенты увидят это имя при общении с ботом. И никнейм бота — по нему можно будет найти бота в Telegram. Никнейм должен быть уникальным, не повторять существующие в базе и заканчиваться на слово «bot».
После того как вы выберите подходящее имя бот будет создан. Вы получите сообщение со ссылкой на бота t.me/<никнейм_бота>, рекомендации по настройке аватарки, описание бота и список команд для настройки бота.
Для подключения бота в SendPulse вам понадобится токен. Скопируйте значение токена и перейдите к последнему пункту.
Где найти ключ для уже существующего бота
Шаг 1. Перейдите к боту @BotFather и введите команду /token
.
Вы увидите кнопки с созданными ботами.
Шаг 2. Выберите бота, которого нужно подключить.
Скопируйте значение токена.
Как подключить бота в Sendpulse
Перейдите в раздел «Чат-боты» в вашем аккаунте SendPulse. Если ранее у вас не было подключенных каналов, нажмите на кнопку «Подключить каналы». Если же вы уже подключали ботов, перейдите в раздел «Управление ботами».
Затем выберите нужный канал и нажмите на кнопку «Подключить Telegram».
Введите ключ доступа — токен полученный в созданном боте. Нажмите «Подключить».
Нажмите на кнопку «Подписаться на бота». Таким образом вы сможете тестировать каждое сообщение и цепочку и отправлять их себе перед реализацией.
Вы будете перенаправлены в приложение «Telegram», нажмите на кнопку «Запустить» и вы подпишетесь на своего бота.
Чат-бот будет успешно добавлен.
Можете переходить в него и начинать создавать приветственные и триггерные цепочки, массовые рассылки.
Обратите внимание, что подписчики не импортируются автоматически. После подключения вы сможете собирать аудиторию с помощью виджета подписки или делясь ссылкой на бота t.me/<никнейм_бота> напрямую. Также вы можете вручную загрузить файл с ранее собранными подписчиками.
Подключить чат-бота Telegram
Обновлено: 29.03.2021
Как создать бот собственными силами за пять минут
Боты в мессенджерах – тренд сезона. Они присылают уведомления и новости, заменяют собой колл-центры, играют в игры, в общем, интегрируют в формат чата всевозможные сервисы.
Создать собственный бот можно за несколько минут, причем иногда сделать это можно, даже не зная языков программирования.
У мессенджера Telegram есть специальный бот для создания ботов и управления уже созданными – @BotFather. Просто начните разговаривать с ним и, следуя подсказкам, сделайте несколько простых шагов.
Напишите в окне диалога /newbot для создания нового бота. @BotFather спросит, как новый бот будет называться и какой юзернейм использовать (имя у всех ботов в Telegram должно заканчиваться на «bot»). Дальше предложит добавить описание возможностей бота и юзерпик, а также выдаст уникальный токен, который пригодится в дальнейшей настройке и работе бота.
Все, бот готов.
Правда, пока он еще ничего не умеет. Дальше на помощь приходят сервисы:
- Chatfuel – именно этот сервис помог сделать свои боты изданиям Forbes и TechCrunch и привлек инвестиции Яндекса. С его помощью можно сделать бот для Telegram и Facebook Messenger, а в будущем – и для Slack, Kik, WhatsApp и Viber. Работа сервиса по настройке вашего бота также происходит в режиме общения с ботом @Chatfuelbot. Пока что все это бесплатно;
- Api.ai – сервис для создания чат-ботов для Facebook Messenger и Slack. Подключаете бот и через веб-интерфейс задаете команды и реакции на сообщения пользователей, заполняя и редактируя пошаговую форму. Инструмент бесплатный, пока к вашему боту поступает меньше 6000 обращений в месяц. Дальше придется покупать подписку – от 89$ в месяц.
- Meya – еще один сервис для создания ботов, работает с Telegram, Slack, Kik, Facebook Messenger, Twitter и др. Предоставляет хостинг для ботов, базы данных, фреймворк для понимания естественной речи пользователя, средства для интеграции и т.п.
- Pandorabots – платформа по созданию чат-ботов для Twilio, Twitter, Facebook, Firebase, Skype и Slack, о ней мы писали отдельно.
- Manybot – довольно популярная в рунете платформа для создания ботов в Telegram.
Как сделать чат-бота за 15 минут — CASES
В условиях современного рынка существует множество трендов и тенденций. Некоторые из них молниеносно появляются и также быстро исчезают, а некоторые задерживаются и укореняются на более долгое время.
Одним из таких трендов являются чат-боты. Но так как тема эта довольно сложная, сегодняшняя ситуация примерно похожа на ситуацию с SMM продвижением — все хотят, но не понимают зачем, как и сколько это должно стоить.
В этой статье мы расскажем что такое чат-боты, зачем они нужны, как создать чат-бота без навыков программирования и покажем как можно применить бота в маркетинге.
Что такое чат-бот
Чат-бот — так называемый, искусственный интеллект, специальная программа, которая может общаться с пользователями вашего сайта или страницы в социальных сетях, а точнее отправлять им различные сообщения в заданной предварительно последовательности.
Разработка чат-бота производиться с участием программиста и без него. Первый вариант — самый простой, о котором мы поговорим в этой статье реализуется при помощи специальных программ — конструкторов. Они бывают платные и бесплатные, все зависит от необходимого вам функционала. Второй вариант сложнее, дороже, но стоит отметить что чат-бот, написанный программистом, всегда «умнее», чем созданный через конструктор.
Зачем нужен чат-бот
Сегодня вы можете найти 1 000 000 советов о том, как написать чат-бота, в какой программе это лучше сделать, как найти подходящий сервис, но мало кто пишет о том, какие цели стоит ставить перед чат-ботом. А зря, от этого ведь зависит рациональность инвестирования времени и средств в разработку, а также результат маркетинговых активностей.
Целью создания чат-бота может быть:
- Автоматизация работы службы поддержки.
- Разгрузка колл-центра и ответственных менеджеров.
- Построение воронки продаж.
- Привлечение и получение лидов.
Как создать чат-бота бесплатно
Все понимают, что бот — это программа. Чтобы создать программу, нужен программист. Чтобы привлечь программиста, нужны средства. Но что делать, если чат-бот необходим, а денег на программиста просто нет.
Мы знаем как вам помочь. В этой части статьи мы расскажем как создать чат-бота бесплатно.
Рецепт прост как 2х2. Вам нужен конструктор ботов.
Конструктор ботов — это специальный сервис, в функционал которого, заложены определенные простые функции и последовательности действий, которые сможет выполнять ваш чат-бот. Все что вам нужно будет сделать, так это внести информацию о своей компании, кастомизировать внешний вид сообщений и продумать необходимые сценарии, по которым робот будет давать ответы на вопросы.
Зачастую, этих возможностей хватает с головой, чтобы закрыть потребности малого и среднего бизнеса.
Для того, чтобы внести еще большую ясность, мы составили таблицу, в которой наглядно показали плюсы и минусы создания чат-ботов с привлечением программистов и без них.
Таблица — Преимущества и недостатки создания чат-бота через конструктор ботов и при помощи программиста.
Вывод
Если у вас есть время и средства — подключайте программиста. Если времени и средств особо нет, читайте нашу статью и подключайте чат-бота самостоятельно.
Как сделать чат-бота, если не умеешь программировать
Отвечаем на главный вопрос, который интересует большинство из зашедших на эту страницу пользователей: как создать чат-бота, если не умеешь программировать и при виде кода впадаешь в панику?
Как вы уже поняли, нужен конструктор ботов. Но, если вы введете в Google запрос «какой конструктор ботов выбрать» — в ответ получите 1К ссылок, с самыми разнообразными по функционалу и возможностям конструкторами.
DON’T PANIC!
Мы немножко познакомим вас с темой и подскажем как получить то, что нужно именно вам.
Во-первых, отметим, что создание чат-бота нужно для общения через мессенджеры. Самые распространенные мессенджеры, которые используются для таких целей это:
- Facebook messenger
- Telegram
- Viber
Начнем по порядку.
Чат-бот Фейсбук
Это, пожалуй, самая популярная тема, волнующая большую половину пользователей. Для начала, давайте проведем оценку рынка.
5 сервисов для создания ботов без кодинга и без денег
1) ChattyPeople
Как утверждает Рэмптон, лучший сервис для создания чат-ботов. Простой, удобный, бесплатный.
2) Botsify
3) Chatfuel
Достаточно простой в освоении и использовании сервис для создания чат-ботов. Наша команда опробовала его и мнения разошлись 50/50. Да, сервис прост, но прост настолько, что значительно уступает тому же Many Chats по функционалу и отчетности. Но это дела каждого. Безусловно достоин внимания.
4) FlowXO
5) BeepBoop
Из личного опыта:
Мы тестировали несколько сервисов для создания чат-ботов и можем с уверенностью отдать предпочтение платформе ManyChat.
Почему ManyChat:
- Простой и интуитивно понятный интерфейс, несмотря на то, что он англоязычный.
- Широкие возможности аналитики внутри самого сервиса.
- Возможность добавлять виджеты на сайт.
- Совместимость с Facebook.
- Широкий функционал в бесплатной версии.
- Адекватная стоимость платной подписки.
- Наличие подробной справки и обучающего видео и текстового материала.
Как создать чат-бота при помощи сервиса ManyChat. Полная инструкция
Шаг 1. Регистрация
- заходим на сайт сервиса и кликаем Get Started Free
- Попадаем на окно авторизации через Facebook
- Кликаем Sign In With Facebook
- Устанавливаем галочку на пункте I agree to Many Chat’s Terms of Service and Private Policy
- Кликаем Sign In With Facebook
- Вводим логин и пароль от вашего аккаунта в Facebook (если вход не произошел автоматически)
На следующем экране выбираем какие именно страницы вы хотите подключить к Many Chats
Далее, загрузится основной экран с синим осьминогом, на котором ваш необходимо согласиться или отказаться от получения рассылки от сервиса и нажать кнопку Get Started.
После этого, попадаем в дашборд. Это такой себе командный пункт из которого вы будете управлять своим чат-ботом.
Шаг 2. Приветственное сообщение
Для начала поздороваемся.
Первое, что увидит пользователь, который собрался написать вам сообщение и вошедший в Facebook Messenger — кнопка Get Started внизу экрана мессенджера. Кликнув на нее, пользователь получит первое приветственное сообщение.
Как настроить Welcome Message в ManyChats
- В левом меню кликаем по кнопке Automation
- В выпадающем меню находим пункт Welcome Message и кликаем по нему
- Далее кликаем по сообщению и пишем приветственное сообщение
Шаг 3. Ответ на непонятный вопрос
Этот ответ отправляется ботом автоматически, если он не понимает что нужно ответить на заданный вопрос.
Как настроить Default Reply в ManyChats
- В левом меню кликаем по кнопке Automation
- В выпадающем меню находим пункт Default Reply и кликаем по нему
- Далее кликаем по сообщению и редактируем сообщение
Шаг 4. Ключевые слова
Ключевые слова — это особые сигналы для бота. Чтобы было понятно, приведем пример: если вы отправите слово «start» нашему чат-боту, он подпишет вас на рассылку и вы увидите приветственное сообщение подтверждения подписки.
Остальные сигналы (ключевые слова) работают аналогично: задается ключевое слово и к нему привязывается определенное действие. Если максимально все упростить, то можно провести аналогию с сигналами светофора:
- ключевое слово: красный — действие бота: стоп
- ключевое слово: желтый — действие бота: приготовься
- ключевое слово: зеленый — действие бота: начинай движение
Шаг 5. Статистическое меню в Messenger
Это то меню, которое видит пользователь при входе в диалог с вами в Messenger. Вот, как оно выглядит:
Это меню — важный момент, которому стоит уделить внимание. Сюда нужно вынести кратко главную информацию, которую вы хотите сообщить пользователю и добавить призывов к действию.
В бесплатной версии, вам будет доступно 2 пункта для вывода. Как вариант, можно вывести такие:
- адрес вашего сайта
- СТА для совершения действия, например, личной консультации
Как настроить главное меню в ManyChats
- Заходим в дашборд, пункт Automation
- Переходим в пункт Main Menu
Лайфхак: да, у вас есть всего лишь 2 пункта в бесплатной версии, но в каждом из этих пунктов, можно сделать несколько подпунктов. Таким образом, количество информации, которую вы можете показать пользователю увеличивается.
Шаг 6. Отправка широковещательных сообщений
Вы набрали подписчиков бота, что дальше? С ними нужно как-то работать, напоминать о себе, делать предложения. Для этого, нам понадобятся Broadcasts или другими словами автоматизированную отправку сообщений или автопостинг.
Для этого:
- зайдите в дашборд
- в левом меню найдите пункт Broadcasting и кликните по нему
- в выпадающем меню кликните по пункту Broadcasts
Теперь, чтобы создать сообщение, нажмите на кнопку +New Broadcast
Создайте свое первое сообщение и кликайте Go Next, чтобы продолжить и Preview, чтобы посмотреть что получилось.
Как перенаправить трафик в Messenger
Настройка стала +/- ясно/понятно. Но вот главный вопрос — где взять подписчиков для бота? Для этого ManyChats располагает отличным инструментом, который называется Growth Tools.
Познакомимся с ним поближе
- заходим в дашборд
- в левом меню находим пункт Growth Tools и кликаем на него
- далее, в правом верхнем углу жмем кнопку New Growth Tools и попадаем в меню редактирования нового инструмента роста
Telegram чат бот — легкий способ сделать бота
Чат бот telegram интересный и эффективный инструмент.
Инструкция: Как сделать чат-бота Telegram без кодинга
Подготовительные работы:
- Устанавливаем приложение Telegram. Ссылка на скачивание: ссылка
- Регистрируемся в приложении
Для легкого и быстрого создания бота, мы будем использовать сервис Manybot.
Создаем бота:
Переходим на manybot.io
Кликаем кнопку «Создать бота»:
Далее, кликаем: Открыть ManyBot в Telegram:
Если вы работаете с десктопа, откроется окно переадресации в приложение Telegram, в котором нужно нажать «Открыть».
Открываем Telegram и кликаем кнопку «Добавить нового бота» в меню Manybot:
Следуя инструкции, переходим к @BotFather. Это «царь-бот» в Telegram. Любого нового бота, можно создать только обратившись к нему. Что мы собственно говоря и сделаем. Переходим к @BotFather:
Видим приветственное сообщение. Для начала работ, отправляем боту команду /start, в ответ бот пришлет с описанием своих функций и команд, которыми вы можете эти функции вызвать.
Сообщаем @BotFather о том, что хотим создать нового бота командой /newbot:
Дальше, @BotFather спросит как вы хотите назвать своего бота. Мы назовем его TestBot.
Теперь, даем боту юзернейм, по которому вы сможете найти бота в поиске:
Бот создан. Теперь нужно скопировать токен для дальнейших действий:
Возвращаемся в ManyBot и отправляем боту скопированный токен и жмем кнопку «Я скопировал токен»:
В ответ вы получите сообщение об успешном создании бота и просьбой немного о нем рассказать:
Этот шаг можно пропустить.
Чтобы люди могли подписаться на вашего бота и начать с ним общение, нужно выслать им ссылку на него из сообщения (см. скрин выше) или разместить ссылку на сайте, в Instagram и пр.
Дальнейшие действия зависят от задач, которые перед вами стоят. Если вам достаточно бота, ОК, берите ссылку и размещайте в местах, где ее смогут увидеть ваши потенциальные подписчики.
Если вы ведете канал в Telegram и хотите наладить постинг и добавить дополнительные возможности к своим постам, сделайте следующее.
Как добавить лайки и сделать отложенный постинг в Telegram-канал
Сделайте созданного бота админом вашего канала:
- зайдите в канал
- найдите пункт управления каналом (три вертикальные точки справа вверху)
- кликните по ним и в выпадающем меню выберите: управление каналом — администраторы — добавить администратора:
- далее, в поиске найдите вашего бота по юзернейму, который мы присваивали ранее и назначьте его админом:
- находим в Telegram специального бота, который называется @Controllerbot
- первое, что вы увидите — сообщение с описанием возможностей этого бота.
- даем боту команду /start
- далее, подключаем бота. Для этого копируем токен, полученный ранее в @Controllerbot:
- далее, подключаем канал:
- создаем пост. Для этого, кликните на кнопку «Создать новый пост». Вас автоматически переадресует в ваш созданный бот:
- отправляем непосредственно то, что хотим опубликовать:
- выбираем, что нужно добавить к посту (мы выбрали реакции):
- отправляем боту реакции, которые хотим прикрепить:
- кликаем кнопку «Далее» и выбираем необходимое действие:
- мы выбрали «Опубликовать». Вот, что получилось:
Как сделать опрос в Telegram
Для того, чтобы сделать опрос в Телеграм, находим бота @vote:
Выбираем опрос какого типа мы хотим создать: публичный или анонимный. Мы выбрали Public:
Отправляем вопросы, которые будут включены в наш опрос и варианты ответов:
По окончанию, отправляем боту сигнал о завершении настроек в виде команды /done
Еще один способ добавить реакции к посту
Telegram бот @like
В ответ, бот попросит выслать сообщение, к которому нужно прикрепить реакции:
После этого, нужно выслать реакции, которые вы хотите использовать (до 6 эмоджи):
Пост готов.
Несколько полезных команд для вашего бота:
Чтобы настроить меню Telegram, отправьте боту /commands
Чтобы посмотреть справку, отправьте боту /help
И так далее.
Начало работы — Создание первого чат-бота — Teams
- Чтение занимает 5 мин
В этой статье
Это руководство содержит сведения о том, как создать, запустить и развернуть чат-бота для Teams. Чат-бот выступает в качестве посредника между пользователем Teams и веб-службой. Пользователи могут общаться с ботом, чтобы быстро получить информацию, инициировать рабочие процессы или выполнить другие действия, предлагаемые веб-службой.
Подготовка
Убедитесь, что среда разработки настроена путем установки необходимых условий.
Создание проекта
Используйте набор средств Teams для создания своего первого проекта.
Откройте Visual Studio Code.
Выберите значок Teams на боковой панели, чтобы открыть Teams набор средств.
.
Выберите Создать проект.
.
Выберите Создать приложение Teams.
В разделе Выбор возможностей выберите Бот, отклоницу вкладку и выберите ОК.
В разделе Регистрация ботов выберите Создать новую регистрацию бота.
В разделе Язык программирования выберите JavaScript.
Выберите папку рабочей области. В папке рабочей области будет создана папка для создаваемого проекта.
Введите подходящее имя для приложения, например
helloworld
. Имя приложения должно содержать только буквы. Чтобы продолжить, нажмите клавишу ВВОД.
Создание приложения Teams займет несколько секунд.
Используйте для создания первого проекта интерфейс командной строки teamsfx
. Начните с папки, в которой будет создана папка проекта.
teamsfx new
Интерфейс командной строки выдаст несколько вопросов, ответы на которые используются для создания проекта. Каждый вопрос сопровождается подсказкой о том, как на него отвечать (например, использовать клавиши со стрелками для выбора варианта). Ответив на вопрос, подтвердите свой выбор, нажав клавишу ВВОД.
- Выберите Создать приложение Teams.
- Выберите вкладку Bot и deselect.
- Выберите Создать новую регистрацию бота.
- Выберите JavaScript в качестве языка.
- Нажмите клавишу ВВОД, чтобы выбрать папку рабочей области по умолчанию.
- Введите подходящее имя для приложения, например
helloworld
. Имя приложения должно состоять только из букв и цифр.
После ответа на все вопросы создается проект.
Знакомство с исходным кодом
Если вы хотите пропустить этот раздел, вы можете запустить приложение локально.
Расширение для сообщений использует Bot Framework, чтобы дать пользователю возможность взаимодействовать со службой посредством общения. После генерации кода проект будет выглядеть следующим образом:
Код бота хранится в каталоге bot
. bot/teamsBot.js
— основная точка входа для бота. Диалоги хранятся в каталоге dialogs
.
Совет
Перед интеграцией своего первого бота в Teams ознакомьтесь с чат-ботами за пределами Teams. Дополнительные сведения о ботах см. в руководстве Служба Azure Bot.
Локальный запуск приложения
Набор средств Teams позволяет размещать приложение локально. Для этого:
- Приложение Azure Active Directory регистрируется в клиенте M365.
- Манифест приложения отправляется в Центр разработчиков для Teams.
- API запускается локально с помощью Azure Functions Core Tools для поддержки приложения.
- ngrok устанавливается и используется для обеспечения туннеля между Teams и кодом бота.
Чтобы создать и запустить приложение локально, выполните следующие действия.
С Visual Studio Code нажмите клавишу F5, чтобы запустить приложение в режиме отлаживания.
При первом запуске приложения произойдет загрузка всех зависимостей и сборка приложения. По завершении сборки автоматически откроется окно браузера. Для завершения может потребоваться от 3 до 5 минут.
Веб-браузер начинает запускать приложение. Если вам будет предложено открыть Teams рабочий стол, выберите Отмена, чтобы оставаться в браузере. Вам также может быть предложено перейти на рабочий Teams в другое время; выберите Teams веб-приложение, когда это произойдет.
Вам может быть предложено выполнить вход. В этом случае войдите с учетной записью M365.
Если вам предложено установить приложение на Teams, выберите Добавить.
После загрузки приложения вы будете доставлены непосредственно в сеанс чата с ботом. Вы можете ввести
intro
, чтобы просмотреть ознакомительную карточку, иshow
, чтобы просмотреть свои данные в Microsoft Graph. (Для этого потребуется утверждение дополнительных разрешений).Отладка работает надлежащим образом — попробуйте сами! Откройте файл
bot/dialogs/rootDialog.js
и найдите методtriggerCommand(...)
. Задайте точку останова для варианта по умолчанию. Затем введите какой-нибудь текст.
При нажатии клавиши F5 Teams набор средств:
- Регистрирует приложение с помощью Azure Active Directory.
- Регистрирует приложение для «боковой загрузки» в Microsoft Teams.
- Запускает локализованную работу backend приложения с помощью основных средств Azure Function.
- Запускает туннель ngrok, чтобы Teams взаимодействовать с приложением.
- Начинается Microsoft Teams с командой Teams для загрузки приложения.
Чтобы запустить приложение в Teams, у вас должна быть учетная запись разработчика Microsoft 365, позволяющая устанавливать неопубликованные приложения. Дополнительные сведения о создании учетной записи см. в разделе Необходимые компоненты.
Совет
Перед установкой неопубликованного приложения проверьте наличие проблем с помощью средства проверки приложений, которое входит в набор средств. Исправьте ошибки, чтобы успешно установить неопубликованное приложение.
Развертывание приложения в Azure
Развертывание состоит из двух этапов. Сначала создаются необходимые облачные ресурсы (также известные как подготовка), затем код, который составляет ваше приложение, копируется в созданные облачные ресурсы.
Откройте Visual Studio Code.
Выберите Teams набор средств на боковой панели, выбрав значок Teams.
Выберите Положение в облаке.
При необходимости выберите подписку для использования для ресурсов Azure.
Примечание
Для размещения приложения всегда используются некоторые ресурсы Azure.
Диалоговое окно предупреждает, что при запуске ресурсов в Azure могут возникнуть затраты. Press Provision.
Процесс подготовка создает ресурсы в облаке Azure. Это занимает некоторое время. Вы можете отслеживать ход, наблюдая за диалогами в правом нижнем углу. Через несколько минут вы увидите следующее уведомление:
Как только подготовка завершена, выберите Развертывание в облаке. Как и в случае с подготовками, этот процесс занимает некоторое время. Вы можете отслеживать процесс, наблюдая диалоги в правом нижнем углу. Через несколько минут вы увидите уведомление о завершении.
В окне терминала:
Запуск
teamsfx provision
.teamsfx provision
Возможно, вам будет предложено войти в свою подписку Azure. При необходимости вам будет предложено выбрать подписку Azure для использования для ресурсов Azure.
Примечание
Для размещения приложения всегда используются некоторые ресурсы Azure.
Запуск
teamsfx deploy
.teamsfx deploy
Примечание
В чем разница между Provision и Deploy?
Шаг Provision создает ресурсы в Azure и M365 для вашего приложения, но код (HTML, CSS, JavaScript и т.д.) не копируется в ресурсы. Шаг Развертывание копирует код приложения на ресурсы, созданные во время шага по предоставлению. Часто развертывается несколько раз без предоставления новых ресурсов. Так как этап предоставления может занять некоторое время, он отделен от шага развертывания.
После завершения этапов подготовка и развертывание:
- С Visual Studio Code откройте панель отключки (Ctrl+Shift+D / ⌘⇧-D или Просмотр > Run)
- Выберите Пульт запуска (Edge) из выпадаемой конфигурации запуска.
- Нажмите кнопку Play, чтобы запустить приложение — теперь он работает удаленно из Azure!
До развертывания приложение работает локально:
Серверная часть работает с использованием Azure Functions Core Tools.
Конечная точка HTTP приложения, в которую Microsoft Teams загружает приложение, работает локально.
Развертывание включает подготовку ресурсов для активной подписки Azure и развертывание (загрузку) внутреннего и внешнего кода приложения в Azure. Серверная часть использует различные службы Azure, включая службу приложений Azure и службу Azure Bot.
См. также
Как быстро создать бота в Telegram без знаний программирования – 1C-UMI
Среди неопытных пользователей существует мнение, что для создания бота в Telegram нужно быть опытным кодером и знать языки программирования. В некоторых случаях это действительно так. Но только тогда, когда бот должен иметь сложный функционал, которым его нельзя наделить при помощи конструктора. В остальных случаях можно обойтись специальными сервисами для создания Телеграм-ботов. Об этих инструментах мы сегодня и расскажем.
Регистрируем своего бота в BotFather
Перед созданием бота нужно зарегистрировать его в BotFather. Это делается для того, чтобы ваш бот мог работать в Telegram. BotFather ― это тоже бот, найти его просто, для этого кликните по данной ссылке, и мессенджер сам откроет с ним диалог. Нажмите внизу кнопку «Запустить».
В окне чата отобразятся все доступные команды. Нас интересует /newbot. Можете это ввести вручную или же кликнуть по соответствующей записи прямо в командном списке.
BotFather предложит вам выбрать имя для своего будущего бота. Вводим произвольное.
Затем необходимо придумать юзернейм боту. Он должен быть уникальным, так как в противном случае регистрация бота будет отклонена. В конце названия обязательно нужно указать приставку _bot.
После успешной регистрации BotFather пришлет вам сообщение с токеном, который нужно записать где-нибудь у себя и сохранить. В дальнейшем он нам понадобится.
Теперь переходим непосредственно к созданию самого бота.
Создаем бота с помощью ManyBot
ManyBot — это уникальная разработка в Telegram, которая позволяет пользователям без знаний языков программирования создавать собственные простые боты.
Запускаем ManyBot по ссылке выше и жмем на кнопку «Добавить нового бота».
Затем копируем ранее полученный нами токен в BotFather и вставляем в чат с ManyBot. Жмем на стрелочку отправки сообщения справа или Enter.
Теперь нужно написать маленький текст о том, что будет делать наш бот. В случае, если вы ничего писать не хотите, можно воспользоваться кнопкой «Пропустить».
Получаем сообщение от ManyBot о том, что бот создан и настроен.
Кликаем по ссылке с нашим ботом и жмем на кнопку «Запустить».
Сразу открывается окно, где отображается список команд, а внизу удобное меню для добавления функций в бот.
Кликаем по кнопке «Пользовательские команды» и затем «Создать команду».
Название команды указываем произвольное, но, чтобы потом было понятно, за что она отвечает. Перед командой обязательно указываем slash в виде /.
После написания команды жмем Enter или голубую стрелочку справа.
Теперь необходимо добавить то, что вы хотите, чтобы бот присылал пользователю в ответ на введенную команду. Например, какой-то текст или картинку, документ или аудиофайл.
Текст пишем в поле для этого или копируем откуда-нибудь, а для прикрепления файлов используем значок «Скрепка».
Изображение отправляется отдельно от текста.
Добавив всю нужную информацию для этой команды, воспользуйтесь кнопкой «Сохранить».
Таким образом можно создавать множество команд, и каждая из них будет отвечать за вывод конкретной информации в виде текста, фото, документов или файлов.
Для проверки работоспособности команды жмем в меню на кнопку «Назад», затем вводим вручную созданную нами команду и нажимаем Enter. В ответ приходит сообщение с тем содержанием, которое мы указали при добавлении команды.
Однако вводить каждый раз вручную команды как-то неудобно, поэтому можно воспользоваться функцией создания графического меню в ManyBot. Для этого переходим вновь в раздел «Пользовательские команды» и жмем на кнопку «Настроить гл. меню».
Потом кликаем по кнопке «Добавить пункт меню».
Выбираем в меню созданную нами команду.
Вводим название пункта меню. Например, «О компании». Можно использовать эмоджи.
Жмем Enter или по стрелке справа. Видим сообщение, что команда была успешно добавлена в меню. Возвращаемся назад при помощи соответствующей кнопки (2 клика).
В меню теперь есть добавленная нами кнопка, за которой закреплена созданная команда. Попробуем на нее нажать и посмотреть, что получится.
При нажатии на кнопку присылается та информация, которая ранее отправлялась только при ручном вводе команды. Согласитесь, что так намного удобнее!
С помощью ManyBot можно также создавать опросы, делать рассылку по подписчикам, настраивать автопостинг в канал Telegram, смотреть статистику и т.д. Узнать подробнее обо всех функциях конструктора можно в самом боте, прокрутив меню до пунктов «Помощь» и «Инструкции». Кликайте по ним и изучайте все возможности инструмента.
Создаем бота с помощью BotMother
Это полноценный веб-конструктор, который позволяет создавать собственных Телеграм-ботов через понятный интерфейс в системе. Сначала здесь нужно зарегистрироваться. Затем мы оказываемся в личном кабинете, где нужно кликнуть по значку «Добавить».
Потом кликаем в открывшемся окне по значку «Пустой бот».
Чтобы подключить зарегистрированный нами ранее в BotFather бот, его необходимо сначала удалить из ManyBot. Делается это через команду /deletebot (ввод команды, выбор нужного бота, подтверждение удаления). Либо можно зарегистрировать второго бота и использовать токен от него, оставив первого нетронутым.
Мы пошли по первому пути и удалили нашего бота из ManyBot. Теперь его токен можно использовать для BotMother. Для подключения бота к системе переходим в настройки.
Здесь передвигаем ползунок Telegram вправо, чтобы он стал зеленым, в поле «Токен» вводим полученный ранее в BotFather токен и кликаем внизу по значку «Дискета» для сохранения настроек.
Теперь возвращаемся к нашему боту в конструкторе.
Сначала можно добавить текст приветствия для всех пользователей, которые будут запускать ваш бот. Справа находится блок с функциональными блоками. Кликните мышкой по самому верхнему с названием «Текст» и перетащите на стартовый экран.
Теперь в текстовом поле пишем наше приветствие. Можно использовать смайлы.
Чтобы обращаться персонально по имени к каждому пользователю, в текст сообщения нужно добавить конструкцию {{this_user.firstname}}.
Для создания меню перетащим блок «Группа кнопок с подсказками» на тот же стартовый экран, но с расположением под введенным ранее приветствием.
В поле «Текст сообщения» вводим подсказку для пользователя. Например, «Выберите нужный вам пункт меню». А в поле «Введите текст кнопки» указываем короткий текст, который станет названием кнопки.
Чтобы добавить еще одну кнопку, кликните по значку с плюсиком.
Теперь нам нужно добавить еще два стартовых экрана, на которых мы разместим информацию, соответствующую созданным ранее кнопкам. Находим внизу страницы сайта кнопку с плюсиком в голубом круге и жмем на нее.
Появляется новый стартовый экран, вводим название, как у кнопки.
Теперь перетаскиваем на этот экран те компоненты, которые на нем должны быть. Например, тот же текст, как ранее, но еще с добавлением фото или других файлов.
Не забываем периодически кликать на кнопку сохранения, которая располагается внизу страницы в виде значка дискеты в зеленом круге.
Создаем второй стартовый экран прежним способом. Называем его, как вторую кнопку.
Опять перетаскиваем сюда нужные компоненты. Текст, фото, локацию, документ или любой другой элемент, что позволяет использовать бесплатный тариф конструктора.
Мы использовали скриншот наших тарифов на сайте 1C UMI.
Теперь нам нужно связать второй и третий стартовые экраны с кнопками действий в первом. Для этого перетаскиваем компонент «Развилка» на 1-й экран в самый низ.
В пункте «Выберите экран» выбираем «Стартовый экран», затем кликаем по кнопке +. В верхнем поле нужно выбрать второй стартовый экран. Поле «text» оставляем нетронутым, а в поле «Введите значение» указываем точное название кнопки.
Опять кликаем по кнопке с плюсиком, чтобы добавить следующий пункт. Проделываем все то же самое, что и для первого пункта, но выбираем 2-й экран и указываем название для второй кнопки.
Жмем на кнопку «Сохранить». Запускаем бота в Telegram и проверяем, что получилось.
Кликаем по кнопке «О компании» и получаем в ответ сообщение.
Но как вернуться назад после этого? А для этого нужно создать соответствующую кнопку. Делается это просто. На второй стартовый экран переносится сначала компонент «Группа кнопок с подсказками», а чуть ниже «Развилка».
В первом блоке пишем подсказку для пользователя, что ему нужно сделать, чтобы вернуться назад, и название самой кнопки.
Во втором блоке «Развилка» делаем все то же самое, что в предыдущих аналогичных компонентах, но среди экранов выбираем «Стартовый экран», а в названии кнопки указываем «Назад».
Сохраняем изменения при помощи значка дискеты в правой нижней части страницы.
Очищаем историю переписки с ботом в Telegram, запускаем его снова. Кликаем по первому пункту меню и после того, как он присылает информацию, видим, что появилась кнопка «Назад», по нажатию на которую происходит перенаправление в главное меню.
Такую кнопку возвращения можно сделать для всех пунктов меню.
Простой бот, созданный в BotMother, будет выглядеть в вашем личном кабинете примерно так, как на изображении ниже.
Преимущества и недостатки ManyBot и BotMother
ManyBot иногда «тормозит» и не отвечает на введенные в бот команды. Также при запуске бота, созданного на этом конструкторе, отправляется текстовая реклама от разработчиков.
Что касается плюсов, то тут можно выделить наличие функции рассылки, более или менее понятный интерфейс, абсолютную бесплатность и возможность отслеживать статистику.
BotMother почти не имеет недостатков, кроме невозможности использовать платные компоненты в рамках бесплатного аккаунта и создания только одного free-бота.
В остальном сервис просто отличный. Много различных функций, понятные цепочки действий, никакой левой рекламы и детальное руководство в форматах текста и видео.
Боты — всё по этой теме для программистов
Создаём бота в Telegram для управления платными подписками на канал
Подробная инструкция о том, как создать бота для предоставления демо-доступа и контроля подписок на приватный канал в Telegram.
Боты для Discord на Python: проект для начинающих
Не нужно ничего устанавливать и платить за размещение. Такие боты для Discord без проблем могут работать в бесплатном «облаке».
Создание голосового бота: взаимодействие с веб-интерфейсом через мобильный телефон
В этой статье разработчик из Voximplant расскажет нам, как он создавал бота, который общается с пользователем голосом и показывает ему картинки в браузере.
А вы уверены, что общаетесь с человеком?
В работе рассматриваются принципы работы чат-ботов. С пониманием того, как они работают, можно вывести критерии, помогающие людям выявить бота.
Где создать своего бота и соревноваться по сети: подборка площадок
Хотите написать свой Скайнет, но не знаете, с чего начать? Начните с малого! Представляем вашему вниманию подборку онлайн-площадок, на которых можно создавать своих ботов и сталкивать их с ботами других людей.
Создаём политического Twitter-бота с помощью Node.js и StdLib
Автоматизация правит миром. Разбираемся, как, используя цепи Маркова, на основе двух существующих аккаунтов, сделать самообучающегося Twitter-бота.
Telegram-бот на Python за полчаса с aiogram
Напишем простой Telegram-бот на Python и запустим его на сервере Heroku, предварительно ознакомившись с нужными инструментами.
Курс «Создание чат-бота для Telegram»
Русскоязычный видеокурс по созданию чат-бота для мессенджера Telegram, обновленный в 2017 году. Автор курса подробно рассказывает о построении архитектуры бота и приводит примеры написания логики. Помимо базового курса автор предлагает…
/dev/null не нужен: пишем бота на Python, который будет присылать свежие мемасики
Сегодня мы создадим бота для Facebook Messenger, который будет присылать нам свежие мемы, мотивационные сообщения и шутки. В этой статье есть большая часть информации, которую нужно знать для создания своего бота.
Соцсеть в виртуальной реальности, управление компьютером силой мысли и множество новинок для разработчиков — всё, что Facebook показала на конференции F8
18–19 апреля прошла ежегодная конференция Facebook под названием F8. В рамках этого события компания показала множество различных новинок.
Советы по проектированию интерфейса чат-ботов: лучшая практика
Чат-боты сейчас очень популярны, особенно в мессенджерах и социальных сетях — почитайте, например, наше руководство по созданию бота для ВКонтакте. С помощью ботов заказывают еду, покупают билеты, выбирают одежду и делают многое,…
Бот ВКонтакте: руководство и полезные инструменты разработки
Разработка ботов для мессенджеров — тренд 2016 года. Бот в соц. сети «ВКонтакте» — новый тренд в России, а потому мы разберём его разработку прямо сейчас
Обзор: создаем погодного бота на основе Microsoft Bot Framework и искусственного интеллекта LUIS
Очевидно, разработка технологий искусственного интеллекта становится одним из приоритетных направлений в деятельности Microsoft. В ходе пленарного выступления на конференции Build 2016 был анонсирован новый набор инструментов для разработки ботов —…
Как создать бота и автоматизировать свою повседневную работу
Большинство заданий связаны с повторяющимися задачами, которые можно автоматизировать, что освобождает часть вашего драгоценного времени. Это делает автоматизацию ключевым навыком, который нужно приобрести.
Небольшая группа квалифицированных инженеров по автоматизации и экспертов в предметной области может автоматизировать многие из самых утомительных задач целых команд.
В этой статье мы исследуем основы автоматизации рабочих процессов с использованием Python — мощного и простого в изучении языка программирования.Мы будем использовать Python, чтобы написать простой и полезный небольшой сценарий автоматизации, который очистит заданную папку и поместит каждый файл в соответствующую папку.
Наша цель не в том, чтобы с самого начала написать идеальный код или создать идеальную архитектуру.
Ничего «нелегального» строить не будем. Вместо этого мы рассмотрим, как создать сценарий, который автоматически очищает данную папку и все ее файлы.
- Области автоматизации и с чего начать
- Простая автоматизация
- Автоматизация общедоступного API
- Обратный инжиниринг API
- Этические аспекты автоматизации
- Создание сценария очистки каталога
- Полное руководство по созданию ботов и автоматизации повседневной работы
Области автоматизации и с чего начать
Начнем с определения того, какие виды автоматизации бывают.
Искусство автоматизации применимо к большинству секторов. Во-первых, он помогает с такими задачами, как извлечение адресов электронной почты из группы документов, чтобы вы могли быстро рассылать сообщения электронной почты. Или более сложные подходы, такие как оптимизация рабочих процессов и процессов внутри крупных корпораций.
Конечно, переход от небольших личных сценариев к большой инфраструктуре автоматизации, заменяющей реальных людей, предполагает процесс обучения и совершенствования. Итак, давайте посмотрим, с чего вы можете начать свое путешествие.
Простая автоматизация
Простая автоматизация обеспечивает быструю и прямую точку входа.Это может охватывать небольшие независимые процессы, такие как очистка проекта и реструктуризация файлов внутри каталогов, или части рабочего процесса, такие как автоматическое изменение размера уже сохраненных файлов.
Автоматизация общедоступного API
Автоматизация общедоступного API — это наиболее распространенная форма автоматизации, поскольку в настоящее время мы можем получить доступ к большинству функций с помощью HTTP-запросов к API. Например, если вы хотите автоматизировать полив самодельного умного сада в домашних условиях.
Для этого вы хотите проверить погоду текущего дня, чтобы узнать, нужен ли вам полив или идет дождь.
Обратный инжиниринг API
Автоматизация на основе обратного инжиниринга API более распространена в реальных ботах и в разделе «Бот-самозванец» диаграммы в разделе «Этические соображения» ниже.
Путем реверс-инжиниринга API мы понимаем пользовательский поток приложений. Одним из примеров может быть вход в онлайн-браузерную игру.
Понимая процесс входа в систему и аутентификации, мы можем продублировать это поведение с помощью нашего собственного скрипта. Затем мы можем создать собственный интерфейс для работы с приложением, даже если они сами его не предоставляют.
Какой бы подход вы ни выбрали, всегда учитывайте, законен он или нет.
Вы же не хотите попасть в беду? ?
Этические соображения
Однажды со мной связался какой-то парень с GitHub и сказал мне следующее:
«Лайки и вовлеченность — это цифровая валюта, и вы их обесцениваете».
Это запомнилось мне и заставило меня усомниться в инструменте, который я создал именно для этой цели.
Тот факт, что эти взаимодействия и взаимодействие можно автоматизировать и все больше и больше «подделывать», ведет к искаженной и неработающей системе социальных сетей.
Люди, которые создают ценный и качественный контент, невидимы для других пользователей и рекламных компаний, если они не используют ботов и другие системы взаимодействия.
Мой друг придумал следующую ассоциацию с «Девятью кругами ада» Данте, где с каждым шагом, приближающимся к тому, чтобы стать социальным влиятельным лицом, вы все меньше и меньше понимаете, насколько на самом деле сломана вся эта система.
Я хочу поделиться этим с вами здесь, поскольку я считаю, что это чрезвычайно точное представление того, что я видел во время активной работы с инфлюенсерами с InstaPy.
Уровень 1: Лимбо — Если у вас нет бота
Уровень 2: Флирт — Когда вы вручную ставите лайки и подписываетесь на как можно больше людей, чтобы заставить их подписаться на вас в ответ / лайкнуть ваши сообщения
Уровень 3: Заговор — когда вы присоединяетесь к группе Telegram, чтобы поставить лайк и прокомментировать 10 фотографий, чтобы следующие 10 человек лайкнули и прокомментировали вашу фотографию
Уровень 4: Неверность — Когда вы используете недорогой виртуальный помощник, чтобы поставить лайк и подписывайтесь от своего имени
Уровень 5: Похоть — Когда вы используете бота, чтобы ставить лайки и не получаете взамен никаких лайков (но вы не платите за это — например, расширение Chrome)
Уровень 6: Распущенность — Когда вы используете бота, чтобы поставить 50+ лайков, чтобы получить 50+ лайков, но вы не платите за это — например, расширение Chrome
Уровень 7: Жадность или крайняя жадность — Когда вы используете бота, чтобы лайкать / подписываться / комментировать от 200 до 700 фотографий, игнорируя шанс быть забаненным 9 0009 Уровень 8: Проституция — Когда вы платите неизвестной сторонней службе, чтобы автоматически получать лайки / подписки для вас, но они используют вашу учетную запись, чтобы лайкать / подписываться в ответ
Уровень 9: Мошенничество / ересь — Когда вы покупаете подписчиков и лайков, и попытайтесь продать себя брендам в качестве влиятельного лица
Уровень ботов в социальных сетях настолько распространен, что , если вы не будете использовать бот, вы застрянете на уровне 1, Limbo , без роста числа подписчиков и низкая вовлеченность по сравнению с вашими сверстниками.
В экономической теории это известно как дилемма заключенного и игра с нулевой суммой . Если я не бот, а вы бот, вы выиграете. Если вы не бот, а я бот, я выиграю. Если никто не работает, все выигрывают. Но поскольку у всех нет стимула не заниматься ботами, все боты, поэтому никто не выигрывает.
Помните об этом и никогда не забывайте, какое значение имеет весь этот инструмент для социальных сетей.Источник: SignalSciences.com
Мы не хотим иметь дело с этическими последствиями и по-прежнему работаем над проектом автоматизации здесь.Вот почему мы создадим простой скрипт очистки каталогов, который поможет вам организовать ваши беспорядочные папки.
Создание сценария очистки каталога
Теперь мы хотим взглянуть на довольно простой сценарий. Он автоматически очищает данный каталог, перемещая эти файлы в соответствующие папки в зависимости от расширения файла.
Итак, все, что мы хотим сделать, это следующее:
Настройка анализатора аргументов
Поскольку мы работаем с такими функциями операционной системы, как перемещение файлов, нам нужно импортировать библиотеку os
.В дополнение к этому мы хотим дать пользователю некоторый контроль над очищаемой папкой. Для этого мы будем использовать библиотеку argparse
.
импорт ОС
import argparse
После импорта двух библиотек давайте сначала настроим парсер аргументов. Обязательно дайте описание и текст справки для каждого добавленного аргумента, чтобы оказать ценную помощь пользователю при вводе --help
.
Наш аргумент будет называться --path
. Двойные дефисы перед именем говорят библиотеке, что это необязательный аргумент.По умолчанию мы хотим использовать текущий каталог, поэтому установите значение по умолчанию "."
.
parser = argparse.ArgumentParser (
description = "Очистите каталог и поместите файлы в соответствующие папки."
)
parser.add_argument (
"--дорожка",
type = str,
по умолчанию = ".",
help = "Путь к очищаемому каталогу",
)
# анализируем аргументы, данные пользователем, и извлекаем путь
args = parser.parse_args ()
путь = args.path
print (f "Очистка каталога {path}")
На этом уже заканчивается раздел разбора аргументов — он довольно простой и читаемый, не так ли?
Запустим наш скрипт и проверим на наличие ошибок.
python directory_clean.py --path ./test
=> Очистка каталога ./test
После выполнения мы можем видеть, как имя каталога выводится на консоль, отлично.
Давайте теперь воспользуемся библиотекой os
, чтобы получить файлы по заданному пути.
Получение списка файлов из папки
Используя метод os.listdir (path)
и указав ему действительный путь, мы получаем список всех файлов и папок внутри этого каталога.
После перечисления всех элементов в папке мы хотим различать файлы и папки, поскольку мы не хотим очищать папки, а только файлы.
В этом случае мы используем понимание списка Python для перебора всех элементов и помещения их в новые списки, если они соответствуют заданному требованию быть файлом или папкой.
# получить все файлы из заданного каталога
dir_content = os.listdir (путь)
# создать относительный путь от пути к файлу и имени документа
path_dir_content = [os.path.join (path, doc) для документа в dir_content]
# фильтруем содержимое нашего каталога в список документов и папок
docs = [документ для документа в path_dir_content, если os.path.isfile (doc)]
папки = [папка для папки в path_dir_content, если os.path.isdir (папка)]
# счетчик для отслеживания количества перемещенных файлов
# и список уже созданных папок, чтобы избежать многократного создания
перемещено = 0
created_folders = []
print (f "Очистка {len (docs)} элементов {len (dir_content)}.")
Как всегда, давайте позаботимся о том, чтобы наши пользователи получили обратную связь.Поэтому добавьте оператор печати, который дает пользователю представление о том, сколько файлов будет перемещено.
python directory_clean.py --path ./test
=> Очистка каталога ./test
=> Очистка 60 из 60 элементов.
После повторного выполнения скрипта python теперь мы видим, что созданная мной папка / test
содержит 60 файлов, которые будут перемещены.
Создание папки для каждого расширения файла
Следующим и более важным шагом является создание папки для каждого расширения файла.Мы хотим сделать это, просмотрев все наши отфильтрованные файлы, и если у них есть расширение, для которого еще нет папки, создайте его.
Библиотека os
помогает нам с более приятными функциями, такими как разделение типа файла и пути для данного документа, извлечение самого пути и имени документа.
# просмотреть все файлы и переместить их в соответствующие папки
для документа в документах:
# отделить имя от расширения файла
full_doc_path, filetype = os.path.splitext (документ)
doc_path = os.path.dirname (полный_doc_path)
doc_name = os.path.basename (полный_doc_path)
печать (тип файла)
печать (full_doc_path)
печать (doc_path)
печать (doc_name)
break
Оператор break в конце приведенного выше кода гарантирует, что наш терминал не будет рассылаться спамом, если наш каталог содержит десятки файлов.
После того, как мы это настроили, давайте выполним наш сценарий, чтобы увидеть результат, подобный этому:
python directory_clean.py --path ./test
=> ...
=> .pdf
=> ./test/test17
=> ./test
=> test17
Теперь мы видим, что приведенная выше реализация разделяет тип файла, а затем извлекает части из полного пути.
Поскольку теперь у нас есть тип файла, мы можем проверить, существует ли уже папка с именем этого типа.
Прежде чем мы это сделаем, мы хотим пропустить несколько файлов. Если мы используем текущий каталог "."
в качестве пути, нам нужно избегать перемещения самого скрипта python.Об этом позаботится простое условие if.
Кроме того, мы не хотим перемещать скрытые файлы, поэтому давайте также включим все файлы, которые начинаются с точки. Файл .DS_Store
в macOS является примером скрытого файла.
# пропустить этот файл, когда он находится в каталоге
если doc_name == "directory_clean" или doc_name.startswith ('.'):
Продолжать
# получить имя подпапки и создать папку, если она не существует
subfolder_path = os.path.join (путь, тип файла [1:].ниже())
если subfolder_path не в папках:
# создать папку
После того, как мы позаботились о скрипте python и скрытых файлах, мы можем перейти к созданию папок в системе.
В дополнение к нашей проверке, если папка уже была там, когда мы читали содержимое каталога, вначале нам нужен способ отслеживать папки, которые мы уже создали. По этой причине мы объявили список created_folders = []
. Он будет служить памятью для отслеживания названий папок.
Для создания новой папки библиотека os
предоставляет метод под названием os.mkdir (folder_path)
, который берет путь и создает там папку с заданным именем.
Этот метод может вызвать исключение, сообщающее нам, что папка уже существует. Так что давайте также обязательно поймем эту ошибку.
если subfolder_path не в папках и subfolder_path не в created_folders:
пытаться:
os.mkdir (путь к подпапке)
created_folders.добавить (путь к подпапке)
print (f "Папка {subfolder_path} создана.")
кроме FileExistsError как err:
print (f "Папка уже существует в {subfolder_path} ... {err}")
После настройки создания папки давайте повторно выполним наш скрипт.
python directory_clean.py --path ./test
=> ...
=> Создана папка ./test/pdf.
При первом запуске мы видим список журналов, сообщающих нам, что папки с заданными типами расширений файлов были созданы.
Перемещение каждого файла в правую подпапку
Последний шаг теперь — фактически переместить файлы в их новые родительские папки.
При работе с операциями операционной системы важно понимать, что иногда операции нельзя отменить. Это, например, случай с удалением. Поэтому имеет смысл сначала выйти из системы только так, как наш скрипт достиг бы, если бы мы его выполнили.
Вот почему здесь был прокомментирован метод os.rename (...)
.
# получить новый путь к папке и переместить файл
new_doc_path = os.path.join (subfolder_path, doc_name) + filetype
# os.rename (doc, new_doc_path)
перемещен + = 1
print (f "Файл {doc} перемещен в {new_doc_path}")
После выполнения нашего скрипта и проверки правильности ведения журнала мы теперь можем удалить хэш комментария перед нашим методом os.rename ()
и дать ему окончательный идти.
# получить новый путь к папке и переместить файл
new_doc_path = os.path.join (путь к подпапке, имя_документа) + тип файла
os.rename (doc, new_doc_path)
перемещен + = 1
print (f "Файл {doc} перемещен в {new_doc_path}")
print (f "Переименовано {перемещено} файлов {len (docs)}.")
python directory_clean.py --path ./test
=> ...
=> Файл ./test/test17.pdf перемещен в ./test/pdf/test17.pdf
=> ...
=> Переименовано 60 из 60 файлов.
Это последнее выполнение теперь переместит все файлы в соответствующие папки, и наш каталог будет хорошо очищен без необходимости ручных действий.
На следующем этапе мы могли бы использовать созданный выше сценарий и, например, запланировать его выполнение каждый понедельник, чтобы очистить нашу папку «Загрузки» и получить дополнительную структуру.
Это именно то, что мы создаем в продолжение нашего курса Udemy по созданию ботов и автоматизации рабочих процессов.
Мы с Феликсом создали онлайн-видеокурс , чтобы научить вас создавать своих собственных ботов на основе того, что мы узнали о создании InstaPy и его Travian-Bot .Фактически, его даже заставили снести, так как он был слишком эффективен.
Присоединяйтесь и начинайте учиться.
Промо-видео для курса UdemyЕсли у вас есть какие-либо вопросы или отзывы, не стесняйтесь обращаться к нам в Twitter или непосредственно в разделе обсуждения курса?
Как создать чат-бота с нуля
Давно прошли те времена, когда для создания чат-ботов требовались продвинутые навыки программирования. Такие платформы, как ChatBot, позволяют создавать диалоговых ботов по многим каналам связи без написания строчки кода.Разве это не звучит захватывающе?
Из этого туториала Вы шаг за шагом узнаете, как создать бота для генерации лидов с помощью платформы ChatBot. Вы узнаете, как протестировать своего нового бота и узнать, как легко добавить его на свой веб-сайт.
Чтобы создать своего бота с помощью платформы ChatBot, у вас должна быть активная учетная запись ChatBot. Чтобы создать учетную запись, посетите chatbot.com и зарегистрируйтесь как новый пользователь.
ChatBot предлагает бесплатную 7-дневную пробную версию, так что вы можете создать своего бота за это время.Вы можете продлить пробный период еще на 7 дней, пройдя короткий урок по адаптации.
После создания учетной записи вы попадете на панель управления ChatBot, где сможете создать новую историю. Нажмите кнопку Создать бота .
Назовите свою новую историю как бот для генерации лидов .
После создания вашей первой истории вы будете переведены в Visual Builder ChatBot . По умолчанию мы уже подготовили базовое дерево разговоров, которое поможет вам начать работу.
Начальная точка показывает, где начинается ваша история. Это точка срабатывания, которую нельзя изменить. Кроме того, чтобы приветствовать пользователей, мы добавили приветственное сообщение по умолчанию . Вы можете отредактировать его так, как хотите. Воспользуемся случаем, чтобы привлечь внимание пользователя!
Начальная точка показывает, где начинается ваша история. Это точка срабатывания, которую нельзя изменить. Кроме того, чтобы приветствовать пользователей, мы добавили приветственное сообщение по умолчанию . Вы можете отредактировать его так, как хотите.Воспользуемся случаем, чтобы привлечь внимание пользователя!
Щелкните блок Ответ бота , чтобы открыть его окно редактирования. Мы уже подготовили четыре варианта приветственного сообщения. Вы можете оставить их как есть или отредактировать по своему усмотрению.
Что такое Ответ бота ? Ответ бота Блок содержит сообщение, которое ваш чат-бот отправляет пользователю. Здесь вы можете задать пользователю вопрос или позволить ему выбрать из набора предопределенных ответов.
Что такое Ответ бота ? Ответ бота Блок содержит сообщение, которое ваш чат-бот отправляет пользователю. Здесь вы можете задать пользователю вопрос или позволить ему выбрать из набора предопределенных ответов.
Затем выберите ответ Изображение в левом меню и перетащите его под первым текстовым сообщением. Затем загрузите изображение, которое хотите показывать пользователям.
Ваш образ готов!
Затем перетащите еще один ответ Text из меню и поместите его под изображением.Затем введите свое сообщение.
Затем добавьте ответ Быстрый ответ . Здесь вы можете спросить пользователя, хотят ли он подписаться на вашу рассылку новостей. Вы можете побудить пользователя сделать это, предложив, например, код купона.
Теперь вам нужно настроить кнопок , чтобы пользователи могли решать, хотят ли они оставлять свою электронную почту. Щелкните первую кнопку, чтобы открыть ее содержимое. Введите название кнопки в поле Название кнопки .Затем установите Тип кнопки на Отправить сообщение . Когда будете готовы, сохраните настройки.
Теперь вам нужно подготовить вторую кнопку для пользователей, которые не хотят подписываться на вашу рассылку. Щелкните поле Добавить кнопку .
Введите название кнопки. Затем выберите тип кнопки Отправить сообщение и сохраните настройки.
Когда будете готовы, нажмите «Сохранить», чтобы закрыть.
Теперь очередь пользователя.Чтобы продолжить диалог, выберите в главном меню блок User input и отпустите его после блока ответа бота .
Что такое Пользовательский ввод ? Блок Пользовательский ввод позволяет собирать ответы пользователей. В этом блоке вам нужно определить, какие типы пользовательских сообщений будут вызывать реакцию бота. Чтобы создать Пользовательский ввод , вы должны определить Ключевые слова и Пользователь говорит . Это подходящие системы, из которых вы можете выбирать.
Что такое Пользовательский ввод ? Блок Пользовательский ввод позволяет собирать ответы пользователей. В этом блоке вам нужно определить, какие типы пользовательских сообщений будут вызывать реакцию бота. Чтобы создать Пользовательский ввод , вы должны определить Ключевые слова и Пользователь говорит . Это подходящие системы, из которых вы можете выбирать.
Щелкните добавленный Пользовательский ввод , чтобы открыть окно редактирования, и введите имя блока.Затем введите тип сообщений, которые вызовут следующий ответ чат-бота. Вы можете сделать это в разделе Ключевые слова или Пользователь говорит .
Если вы хотите, чтобы ваш бот отвечал на определенное ключевое слово, используйте систему соответствия Ключевые слова . Если вы ожидаете, что пользователи будут отвечать более длинными фразами, используйте , говорит пользователь .
Если вы хотите, чтобы ваш бот отвечал на определенное ключевое слово, используйте систему соответствия Ключевые слова . Если вы ожидаете, что пользователи будут отвечать более длинными фразами, используйте , говорит пользователь .
Когда ваш ответ будет готов, нажмите «Сохранить и закрыть».
Теперь вам нужно получить электронную почту пользователя. Перетащите блок Question из главного меню и отпустите его после блока User input .
Щелкните блок Question и введите имя блока.
Теперь введите свой вопрос в поле Варианты вопроса . Здесь вы можете добавить больше вариантов.Таким образом, когда пользователь указывает неправильный формат электронной почты, бот будет использовать другие слова, чтобы снова спросить о правильной форме электронной почты. Сделав это, вы можете сделать звучание вашего чат-бота более естественным.
Теперь в поле Проверить ответ с помощью объекта выберите Электронная почта из системных объектов. Из-за этого ваш чат-бот будет знать, предоставил ли пользователь правильный формат своего адреса электронной почты.
Затем в поле Сохранить ответ для атрибута настройте атрибут электронной почты по умолчанию .Таким образом, если пользователь предоставит правильный адрес электронной почты, ChatBot назначит этот адрес электронной почты пользователю.
Затем в блоке Действия при сбое вы можете выбрать, что должен делать ваш бот, если пользователь не может ввести правильный формат своего электронного письма.
Если вы выберете Перейти к блоку сбоя , бот не сохранит неправильный формат адреса электронной почты и снова спросит пользователя о предоставлении правильного формата его электронной почты.
Если вы выберете Перейти к блоку сбоя , бот не сохранит неправильный формат адреса электронной почты и снова спросит пользователя о предоставлении правильного формата его электронной почты.
Затем выберите Повторить попытку после заполнения , чтобы бот продолжал попытки, пока не получит правильный ответ. Когда будете готовы, нажмите «Сохранить и закрыть».
Теперь вам нужно поблагодарить пользователя за его адрес электронной почты и предоставить ему обещанный код купона. Для этого перетащите Bot Response из главного меню и отпустите его после блока Success .
Введите имя блока.
Теперь добавьте ответ Image и загрузите изображение, которое хотите использовать.
Наконец, добавьте несколько текстовых ответов и введите свои сообщения. Не забудьте добавить код купона! Когда будете готовы, нажмите «Сохранить и закрыть».
Теперь вам нужно подготовить сообщение бота на случай, если пользователь не хочет подписываться на вашу рассылку. Для этого перетащите Пользовательский ввод из главного меню и отпустите его после приветственного сообщения .
Щелкните блок User input и введите имя блока.Затем введите ответы пользователя, используя Ключевые слова или Пользователь говорит . Введите все возможные ответы, которые могут отправить ваши пользователи. Когда будете готовы, нажмите «Сохранить и закрыть».
Теперь вы можете закончить разговор. Перетащите Ответ бота из главного меню и отпустите его после Пользователь ввел с отказом подписаться на ваш информационный бюллетень.
Щелкните блок ответа бота . Выберите текстовый ответ и введите сообщение бота.Затем нажмите «Сохранить и закрыть».
Наконец, под приветственным сообщением вы можете увидеть Откат по умолчанию . В ChatBot каждая история поставляется с четырьмя вариантами резервного сообщения по умолчанию . Вы можете щелкнуть по нему и отредактировать его содержимое по своему усмотрению.
Что такое Резервный по умолчанию? Откат по умолчанию действует как точка срабатывания, и его нельзя редактировать. Он активируется, когда чат-бот не может найти подходящий ответ на вопрос пользователя.Чтобы восстановить диалог, вы можете добавить Ответ бота к резервному запросу по умолчанию и отобразить специальное резервное сообщение.
Что такое Резервный по умолчанию? Откат по умолчанию действует как точка срабатывания, и его нельзя редактировать. Он активируется, когда чат-бот не может найти подходящий ответ на вопрос пользователя. Чтобы восстановить диалог, вы можете добавить Ответ бота к резервному запросу по умолчанию и отобразить специальное резервное сообщение.
ChatBot собирает все несогласованные взаимодействия, которые ответили резервным взаимодействием, и сохраняет их в разделе Training . Вы можете добавить их прямо в историю своего чат-бота, чтобы ваш бот мог распознать их в следующий раз и предоставить соответствующие ответы. ChatBot собирает все несогласованные взаимодействия, которые ответили резервным взаимодействием, и сохраняет их в разделе Training . Вы можете добавить их прямо в историю своего чат-бота, чтобы ваш бот мог распознать их в следующий раз и предоставить соответствующие ответы.Похоже, вы создали бота для лидогенерации. Отличная работа! Давайте посмотрим на это в действии. Visual Builder ChatBot позволяет вам проверить свою историю из приложения. Таким образом, вы сможете гораздо быстрее обнаруживать ошибки и исправлять их, прежде чем показывать своего чат-бота клиентам.
Когда все будет хорошо, вы готовы разместить чат-бота на своем сайте!
Вот и все! Ваш чат-бот готов и ждет, чтобы связаться с вашими клиентами и построить с ними хорошие отношения.Помните, что вы всегда можете вернуться к истории своего чат-бота и со временем улучшить ее. Продолжайте хорошую работу!
У вас есть вопросы по созданию чат-ботов на платформе ChatBot? Напишите нам на [email protected] .
Как создать бота
Пора предприятиям рассматривать чат-ботов как эффективный бизнес-инструмент, а не как нечто второстепенное или «может быть». Если задуматься, современные технологии оказывают серьезное влияние на бизнес-операции сегодня.Независимо от размера вашего бизнеса, бесспорно, чат-боты могут обеспечить как материальные, так и нематериальные преимущества, такие как помощь и удобство, как поставщику, так и потребителю.
Это руководство о том, как создать простого чат-бота, научит вас советам и приемам, которые позволят создать бота, даже если у вас нет большого количества денег на вашем счету или степени ИТ, чтобы поддержать его. С помощью новейших технологий любой может создать бота, который может помочь бэкэнду бизнеса, при этом обеспечивая результаты, требуемые клиентами.
В этом руководстве мы поговорим о том, что такое чат-бот, о различных типах чат-ботов, о том, когда их следует использовать, о том, как создать чат-бота с нуля, и о 6 надежных советах при создании своего собственного.
Сводка
Что такое чат-бот? И, прежде всего, почему они важны?
Чат-боты играют огромную роль, когда речь идет о революционных изменениях в способах общения компаний со своими клиентами. В сегодняшней загруженной деловой среде крайне важно взаимодействовать с клиентами как можно быстрее и четче.
До того, как появились чат-боты, у клиентов была возможность связаться с компанией только по телефону или по электронной почте. Сейчас есть несколько компаний, которые предлагают чат-робота, который обеспечивает удобное обслуживание клиентов 24/7. Чат-боты — это диалоговые компьютерные программы или приложения, имитирующие письменную человеческую речь. Пользователи могут общаться с помощью этого инструмента, используя платформы обмена сообщениями или веб-сайт компании, так же, как они общаются с другим человеком.
Эти продвинутые боты необходимы для любого бизнеса, тем более что большинство магазинов электронной коммерции конкурируют с такими корпоративными гигантами, как Google, Facebook, Microsoft и Amazon, которые устанавливают довольно высокие стандарты обслуживания клиентов; их безупречно быстрая скорость ответа на запрос — одна из причин, которые помогли им доминировать на рынке в течение многих лет.
Эти огромные неумолимые силы непреднамеренно изменили ожидания как пользователя, так и клиента. Это особое отношение, хотите верьте, хотите нет, подсознательно заложено в каждом покупателе.Клиенты ожидают, что получат такие же безупречные, немедленные и актуальные ответы от службы поддержки клиентов, когда они задают вопрос и ждут ответа. Со всем этим весом, который ложится на плечи человеческих ресурсов, практически невозможно обеспечить постоянное обслуживание клиентов, соответствующее этим стандартам. К счастью, здесь могут помочь чат-боты. Просто убедитесь, что вы используете правильного чат-бота для работы.
Какие бывают типы чат-ботов?
Понимание факторов, влияющих на эффективность чат-ботов, может помочь компаниям принять осознанное решение о том, какой чат-бот лучше всего подходит для их платформ.Существует два разных чат-бота: чат-боты на основе правил и чат-боты с ИИ.
1. Чат-боты на основе правил
Самым простым объяснением для чат-ботов на основе правил является то, что эти боты могут давать только предопределенный ответ на очень конкретные вопросы. Важно помнить, что он не может отвечать на вопросы, выходящие за рамки установленных правил. Чат-боты на основе правил эффективны и действенны только в тех сценариях, которым вы их обучили.
Ботов, основанных на правилах, обучаются значительно быстрее, чем ботов с ИИ, но у этого есть ограничения — одно из них заключается в том, что они не могут обучаться самостоятельно.Ответы, которые они дают клиентам, во многом зависят от ответов людей, которые их обучают. Хотя это приносит пользу компании, когда дело доходит до последовательности. Учитывая, что боты, основанные на правилах, включены в программу, по которой они проходят обучение, они будут давать последовательный и единообразный ответ клиентам. Если беседа действительно входит в неизвестное поле для бота, он передаст беседу представителю-человеку, чтобы справиться с ситуацией.
2. Чат-боты AI
Напротив, AI-боты — это самообучающиеся боты.Эти продвинутые боты работают через обработку естественного языка (NLP). НЛП — это точно такой же психологический подход, который создавал системы распознавания голоса, используемые известными виртуальными помощниками, такими как Siri, Google Now и Microsoft Cortana.
Поскольку в основе AI-ботов лежит NLP, оно предназначено для понимания контекста и цели вопроса перед составлением плана ответа. Чем больше обучаются эти боты, тем большему они учатся. Хотя на их обучение уходит много времени; как только они будут должным образом обучены и оснащены, они смогут не отставать от пользователя, независимо от того, насколько сложна ситуация.
Чат-боты с искусственным интеллектом полезны для глубокого обучения. В отличие от чат-ботов, основанных на правилах, чат-ботов с ИИ можно запрограммировать так, чтобы они понимали эмоции или текущее настроение клиента, даже без помощи человеческих сил. Он предоставляет индивидуальные услуги каждому клиенту, и если он достаточно долго обучен, он также может понимать и общаться на разных языках.
В каких ситуациях следует создавать чат-бота?
Требования заказчика довольно просты.Им нужен , самые быстрые и эффективные решения своих проблем — даже если они задают вопрос посреди ночи. Похоже, это не так уж сложно сделать, правда? Дополнительная проблема здесь заключается в том, что помимо быстрой доставки ваших ответов клиентам необходимо чувствовать, что их ценят. Лидеры отрасли сейчас сталкиваются с камнем преткновения: им нужно найти масштабируемый способ помочь клиентам решить их проблемы, заставляя их чувствовать себя важными.
Обеспечить высокий уровень обслуживания клиентов — непростая задача. Клиенты хотят только лучшего и безупречного опыта общения с представителями бизнеса. Автоматизированные сервисы, такие как чат-боты, идеально подходят для этой обуви. Они не идеальны, это само собой разумеющееся. Но чат-боты запрограммированы так, чтобы понимать намерения клиента и очень быстро работают с этим элементом, чтобы помочь им . Успешное внедрение чат-бота может дать бизнесу следующие преимущества:
- Экономия рабочего времени
- Повышение лояльности к бренду
- Более высокий коэффициент конверсии
- Определите голос и индивидуальность бренда
- Выделитесь из множества конкурентов
- Повышение вовлеченности и взаимодействия
- Расширенная база данных для лучшего понимания пользователей и потенциальных клиентов
Инвестирование в эту новую норму обслуживания клиентов поможет компании оставаться впереди всех и без особых усилий завоевать отличную репутацию.Знание того, что клиенты убегают, когда они недовольны услугами и более чем готовы выразить свое недовольство в Интернете, лишь подчеркивает необходимость современных изменений.
Как создать бота с нуля?
Создание чат-бота с нуля сначала звучит пугающе, но это не так. Прежде чем мы погрузимся глубже, вам необходимо понять несколько вещей. Что такое фреймворк для разработки ботов и чем он отличается от платформы для ботов?
Bot Development Frameworks предоставляет инструменты и встроенные функции, которые устраняют всю ручную работу, необходимую при создании чат-бота.Это помогает разработчикам и кодерам быстрее писать коды для лучшего применения. С другой стороны, бот-платформы обычно используются новичками, которые не являются техническими пользователями. Это платформы, на которых назначенные профессионалы будут помогать маркетологам компании при создании и обслуживании своих чат-ботов.
Фреймворки на основе кода для разработки ботов
Для работы чат-бота необходимы предварительно разработанные веб-приложения. Коннекторы платформы обмена сообщениями получают разговоры от различных сред чата, NLP для обработки сообщений и сервера для обеспечения непроницаемой связи с API.Существует несколько фреймворков на основе кода, которые могут помочь в разработке ботов: API. AI, Microsoft Bot Framework, IBM’s Watson Conversation и Ada.
1. API. AI
Программное обеспечение API.AI обеспечивает плавность всего процесса создания бота, помогая разработчикам предоставлять конкретную информацию, адаптированную к потребностям бота. Он работает с намерением, распознаванием речи и управлением контекстом бота.
API.AI — это фреймворк кода с простым веб-интерфейсом. Он разрешает пользователям создавать увлекательные беседы с использованием различных библиотек и SDK.Сюда входят Android, Webkit HTML5, IOS, Node.js и Python API.
2. Microsoft Bot Framework
Microsoft Bot Framework позволяет разрабатывать чат-ботов на нескольких платформах, таких как SMS и сторонние платформы. Напротив, эта структура особенно эффективна в сочетании с другими инструментами и службами Microsoft. Примерами инструментов и служб Microsoft являются служба Azure Bot, BotBuilder и Cognitive Services.
Бот-платформа для создания вашего бота
1.IBM’s Watson Conversation
Что делает Watson Conversation особенным, так это то, что он использует машинное обучение для обучения и построения диалоговых взаимодействий между ботом и клиентом. Watson Conversation программирует бота, чтобы он отвечал клиенту в манере, напоминающей естественный человеческий разговор.
2. Ада
Ada помогает компаниям создавать простых и сложных чат-ботов без необходимости программирования. Любой бизнес может автоматизировать обслуживание клиентов с помощью наглядного конструктора, который упрощает создание структурированных рабочих процессов для любого отдела.
Как создать чат-бота на Python
Чтобы создать чат-бота на Python, все необходимые переменные, которые вы хотите использовать и встроить в своего чат-бота, должны быть готовы и импортированы.
Библиотеки и необходимые данные
1. chatgui.py — код, позволяющий пользователям легко взаимодействовать с ботом.
2. train_chatbot.py — код для чтения на естественном языке и превращающий его в обучающий набор.
3. classes.pkl — список различных типов и категорий ответов.
4. words.pkl — список, в котором хранятся различные слова, которые входят в наш словарь и которые могут быть использованы для распознавания образов ботов.
5. intents.json — файл данных, в котором есть предопределенные ответы и шаблоны.
chatbot_model.h5 — обученная модель, содержащая всю информацию о конкретной модели.
Пошаговая процедура
1.Импортировать все файлы и переменные
Прежде всего, импорт библиотеки в вашу систему является решающим шагом при создании чат-бота на Python. Импортируйте все необходимые пакеты и файлы для своего чат-бота и разделите переменные, которые вы будете использовать в этом проекте Python.
2. Данные постобработки
Работа с текстовыми данными требует предварительной обработки перед созданием модели машинного обучения. Есть несколько рабочих требований, которые необходимо выполнить для эффективной предварительной обработки данных.Самая простая постобработка текстовых данных называется «токенизация». Это процесс разбиения всего текста на более мелкие части или слова.
3. Создайте тестовые данные
Создание тестовых данных предоставит все необходимые шаблоны ввода и вывода. Цель создания и тестирования данных состоит в том, чтобы сузить все до самой простой формы. Это сэкономит много времени и предотвратит возникновение мелких ошибок, когда слова проходят процесс машинного обучения.
4. Построение модели
.Когда все данные для обучения готовы, вы можете начать процесс построения модели глубокого обучения из керасов, называемых «Последовательная». Последовательная модель, в частности, имеет 3 уровня. Первый слой имеет 128 нейронов, второй — 64, а последний имеет количество намерений как конечное количество нейронов.
5. Ожидайте ответа (графический интерфейс пользователя)
Прежде всего, вам необходимо ввести те же данные, что и при обучении бота.Это создаст несколько функций, которые будут выполнять предварительную обработку текста, а затем предсказывать класс.
На данный момент вашим приоритетом является наличие всех необходимых процедур для запуска графического интерфейса пользователя. Clean_up_sentence () — это первая функция, которую вам нужно использовать — она полирует вводимые предложения. Затем функция clean_up_sentence () используется в функции bow (). Функция bow () берет отшлифованные предложения и генерирует список слов, которые используются для предсказания их классов.После того, как вы предскажете класс, скорее всего, вы получите случайный ответ из списка намерений.
6. Запускаем чат-бота
Заключительный этап — тестирование бота. Для этого этапа необходимы два основных файла: chatapp.py и train_chatbot.py.
Во-первых, вы должны обучить модель, используя python train_chatbot.py в терминале. Если он работает без сбоев и ошибок не обнаружено, это означает, что вы успешно создали своего бота. Чтобы запустить файл, бот автоматически появится в окне графического интерфейса в течение нескольких секунд.
Как создать бота с нуля для нетехнических пользователей
Прочитав о фреймворках на основе кода, вы, возможно, открыли новую вкладку и набрали «Как создать чат-бота без программирования» в строке поиска Google. Мы получим это. Для нетехнических пользователей это может быть слишком много, но есть конструкторы платформ чат-ботов, которые могут помочь вам создать чат-бота без сложного кода.
Конструкторы чат-ботов без кода, такие как Ada
Ada дает своим пользователям простой и понятный план, которым нужно следовать при создании своего бота в первый раз.Преимущество использования Ada в том, что вы можете общаться с AI. Он автоматически учится на настроении и эмоциях клиентов, читает опечатки и понимает простой и сложный жаргон. Расширенные функции Ada даже поддерживают более 100 языков, а также персонализированные приветствия и ответы, которые предоставят премиум-услуги каждому клиенту — вашим клиентам даже не будет казаться, что они разговаривают с роботом.
Если вы хотите заказать демонстрацию, щелкните здесь.
Как создать чат-бота в Facebook
Неудивительно, что Facebook Messenger — одна из наиболее часто используемых коммуникационных платформ во всем мире.С 1,3 миллиардами активных пользователей в месяц, нет никаких сомнений в том, что чат-боты определенно являются полезным инструментом для их платформы.
При правильном использовании чат-бота каждое взаимодействие с клиентом будет автоматизировано. Все, что нужно сделать пользователям, — это нажать кнопку «Сообщение» на странице Facebook, после чего автоматически запустится инструмент обмена сообщениями или чат-бот. Этот быстрый и простой инструмент позволяет пользователю ввести вопрос и мгновенно начать общение с ботом.
В зависимости от сложности чат-бота и типа разговоров, которые он предназначен для общения, лучший способ установить и разработать его — это обратиться за внешней помощью.Чат-бот, оснащенный заранее запрограммированными ответами, обычно разрабатывается быстрее, чем чат-боты, использующие обработку естественного языка в качестве основного элемента своих намерений.
Для более подробного и пошагового объяснения того, как создать и установить чат-бота Facebook, у Facebook есть краткое руководство для разработчиков.
6 советов по созданию первого чат-бота
Создание простого чат-бота с нуля открывает множество полезных навыков, которые можно использовать в науке о данных и общем программировании.Теперь, когда вы почти готовы к работе, вот 6 полезных советов, которые следует учитывать, когда вы, наконец, создали своего первого чат-бота:
1. Убедитесь, что ваш чат-бот не звучит как робот.
То, что чат-боты — это роботы, не означает, что это должно быть похоже на одного человека. Чат-боты умнее и созданы для того, чтобы выполнять гораздо больше, чем типичный тон * I-am-a-robot * .
Обработка естественного языка запрограммирует вашего чат-бота на начало и завершение естественного разговора, который звучит так, как будто он просто разговаривает со старым другом.Убедившись, что ваш чат-бот не похож на робота, он позволяет клиентам легче задавать вопросы и понимать решение.
2. Сборка. Тренироваться. Развертывать. Мера.
Build: Совершенно очевидно, что создание чат-бота — это первый начальный шаг. После того, как вы создали своего чат-бота, следующий важный шаг в процессе разработки. Для чего нужен бот? С какими типами разговоров он предназначен? Какие типы ответов они должны давать? Вы можете задать эти общие вопросы всякий раз, когда тренируете бота для реального взаимодействия с людьми.
Train: Процесс обучения вашего чат-бота прост и, без сомнения, требует повторения. Процесс зависит от того, насколько продвинутым вы хотите, чтобы ваш чат-бот был. Он предназначен для ответов на простые и распространенные вопросы или для сложных и спонтанных вопросов? Ответ на эти вопросы станет основой того, сколько вам нужно для обучения своего бота. Просто убедитесь, что у вас действительно есть время, чтобы удовлетворить все потребности ботов, чтобы они были эффективными.
Развертывание: теперь, когда он обучен и готов к работе, вы, наконец, можете развернуть его в действии.Вы можете использовать разные платформы, такие как Facebook, веб-страницу вашей компании или другие средства, на которых вы можете это продемонстрировать. После развертывания клиенты могут начать задавать вопросы о вашей компании, продуктах, которые вы продаете, и услугах, которые вы предоставляете. По сути, все, на что бот был обучен реагировать.
Измерение: этот последний шаг заключается в измерении и отслеживании бота после нескольких взаимодействий с людьми. Вы даже можете следить за своими клиентами и спрашивать их, как прошел их опыт работы с чат-ботом.Очень важно получить их отзывы, поскольку чат-бот технически разработан для их обслуживания.
Если вы получили отрицательный отзыв, это нормально. Не ругайте себя за это. Вы всегда можете определить каждую ошибку и начать ее улучшать, чтобы повысить успешность чат-бота в будущем.
3. Если вы создаете с нуля или используете тарифный план бесплатного чат-бота для трудоемкого процесса
Когда вы создаете чат-бота, вы должны учитывать количество времени, которое вам нужно потратить на обучение и анализ потока их разговоров.Планирование добавляемого вами контента также занимает много времени. С технической точки зрения вы обучаете робота думать и говорить как человек. Одна только эта идея уже кажется большой работой.
4. Дайте чат-боту настоящий голос
Покупатели абсолютно ненавидят, когда ответы «слишком роботизированы». Представьте, что вам приходится повторять один и тот же вопрос снова и снова, но ответы чат-бота слишком запрограммированы и бесполезны. Убедитесь, что когда вы запускаете своего чат-бота, у него реалистичный голос и характер, которые могут легко адаптироваться к окружающей среде, в которой он находится.
5. Анализируйте наиболее частые запросы клиентов
Глубокое понимание общих запросов ваших клиентов является ключом к достижению ваших бизнес-целей. Пытаетесь ли вы оптимизировать их обслуживание клиентов или создавая более привлекательный контент для своего чат-бота, знание своих клиентов лучше, чем кто-либо, по-прежнему является королем.
6. Работайте со своей командой CX — или даже поручите им руководить
Основная цель команды CX — совместно создавать новые захватывающие впечатления от клиентов.Они централизуют и анализируют отзывы клиентов и записывают ценные данные. Они — лучшая команда для работы с чат-ботами, потому что они определяют сложные метрики, которые позволяют им отслеживать и контролировать, влияют ли эти метрики положительно на бизнес-результаты. Имеет смысл, что они возглавляют контент и развитие вашего чат-бота.
Как создать бота для бизнеса
В наши дни люди предпочитают обмен сообщениями любой другой форме общения.Фактически, большинство людей заинтересованы в использовании обмена сообщениями для общения с бизнесом. Вот где пригодится знание того, как создать бота для бизнеса. Боты дают предприятиям возможность автоматически общаться с клиентами в приложениях чата , SMS, и текстовом .
Использование маркетингового бота для вашего бизнеса гарантированно повысит рентабельность инвестиций. Приложение для чата №1 в США — это Facebook Messenger, а автоматизированный маркетинг Messenger имеет звездное взаимодействие, превосходя вовлеченность Facebook Newsfeed, рекламы и электронного маркетинга в 10 раз и более.
Сегодня в дикой природе всего 400 000 ботов Facebook, но каждый месяц через Messenger отправляется более 10 миллиардов сообщений. Это дает компаниям большую возможность использовать ботов для расширения взаимодействия с клиентами.
Сегодня мы поговорим о том, как создать бота для бизнеса и когда эти боты пригодятся.
Инструкции по созданию бота для бизнеса следующие:
- Решите, что бот будет делать для вашего бизнеса.
- Перейдите в конструктор ботов MobileMonkey.
- Выберите «Чат-боты» на боковой панели.
- Выберите «Диалоги», чтобы начать создание своего бота.
- Добавьте параметры диалога.
- Добавьте триггеры вопросов и ответов.
- Проверьте своего бота!
Присоединяйтесь к сегодняшнему вебинару с Ларри Кимом!
(Или зарегистрируйтесь для бесплатного воспроизведения)
Узнайте все о НОВЫХ инструментах от MobileMonkey до 10-кратное взаимодействие с Instagram с автоматизацией обмена сообщениями.
Как создать бота для бизнеса
Прежде чем мы начнем изучать, как создать бота для бизнеса, рассмотрите возможность попробовать бота для опроса клиентов MobileMonkey, чтобы лично убедиться, как бизнес-боты работают в режиме реального времени.
А теперь приступим!
1. Решите, что бот будет делать для вашего бизнеса.
Итак, вы решили научиться создавать бота для бизнеса. Это должно означать, что у вас есть бизнес, и вы хотите, чтобы бот что-то для него сделал.
Но что вы хотите, чтобы бот делал?
Есть много типов ботов для бизнеса. Например, боты могут помочь с лидогенерацией B2B. Некоторые компании используют ботов для выполнения задач по обслуживанию клиентов. Другие используют ботов для выполнения задач электронной коммерции.
Ваш бот будет использоваться для экономии вашего времени и доходов при одновременном повышении рентабельности инвестиций, поэтому подумайте, какие услуги и задачи вы хотите, чтобы бот выполнял для вашего бизнеса.
В рамках этого руководства мы сделаем вид, что цель, которую вы выбрали для бота вашего бизнеса, — помочь вашим клиентам больше узнать о ботах и вашем продукте.Примеры на следующих этапах отражают эту цель.
2. Перейдите в конструктор ботов MobileMonkey.
Самый удобный для бизнеса конструктор визуальных ботов на сегодняшний день — MobileMonkey. Зарегистрируйте бесплатную учетную запись или войдите в свою существующую учетную запись.
Хотите узнать об эффективных стратегиях маркетинга ботов для вашего собственного бизнеса?
УMobileMonkey есть ресурсы, где вы можете узнать больше о ботах, как создать бота для бизнеса (или для удовольствия), а также о маркетинге в Facebook Messenger через наш блог и справочную документацию.
Вы также можете легко получить доступ к конкретной информации о ботах через нашу страницу Chatbot University. Запишитесь на саммит, где вы сможете принять участие в вебинаре и из первых рук узнать, как создать бота для бизнеса или других интересных вещей в маркетинговой индустрии. Кроме того, узнайте, насколько успешны боты, прочитав некоторые примеры из практики.
3. Выберите «боты» на боковой панели.
После того, как вы зарегистрируетесь в бесплатной учетной записи MobileMonkey и изучите наши ресурсы, чтобы узнать больше о маркетинге в Facebook Messenger и о том, как создать бота для бизнеса, вы можете приступить к созданию своего первого чат-бота.
Идите вперед и выберите «Чат-боты» на боковой панели.
4. Выберите «Диалоги», чтобы начать сборку бота.
После того, как вы перешли к построителю ботов, вы готовы создать бота для бизнеса!
Теперь вам нужно выбрать опцию «Диалоги».
Эти два варианта на самом деле идут рука об руку, но чтобы создать бота для бизнеса, вам нужно начать с опции «Диалоги». Диалоги — это то, как взаимодействуют пользователь и ваш бот.Они будут вести разговор.
5. Добавьте параметры диалога.
Здесь вы действительно начинаете создавать бота для бизнеса!
Когда вы перейдете на панель инструментов сбоку от конструктора ботов, вы увидите все свои диалоги. Это разговоры, которые ваш бот будет вести с взаимодействующим с ним пользователем.
Начните с приветственного сообщения.
Лучше всего включать в приветственное сообщение изображение или GIF. Это заставляет пользователя чувствовать, что он ведет более персонализированный разговор с ботом, более похожим на человека.
Вы можете добавить список вариантов ответа для выбора пользователем. Так разговор продвигается вперед.
Чтобы направить пользователя в разные области при выборе вариантов ответа, вы должны создать больше диалогов на боковой панели и использовать их в качестве диалогового окна ответа.
В дополнение к тексту и дополнительным кнопкам вы можете включить URL-адрес в свой ответный диалог.
Затем вы должны убедиться, что ответные диалоги действительно куда-то ведут вашего пользователя.Вы настраиваете диалоги ответов с помощью различных виджетов, которые есть в конструкторе ботов.
Например, в диалоге «Узнать о чат-ботах» я решил включить несколько текстовых виджетов, которые дают немного больше информации о ботах.
Затем я даю пользователю еще один вариант того, что он хотел бы сделать дальше.
Существует множество различных вариантов создания бота для бизнеса. Вы можете использовать различные ответные диалоги, чтобы заинтересовать пользователя.Вы также можете использовать некоторые из них для сбора информации о пользователях.
Здесь я добавил виджет «формы», который будет всплывать, если пользователь запрашивает демонстрацию MobileMonkey.
Эта форма заставляет бота запрашивать номер телефона пользователя, чтобы с ним можно было связаться, чтобы установить время для получения демонстрации.
В этом случае не нужно запрашивать номер телефона. Это действительно зависит от цели вашего бота. Если вы ищете адреса электронной почты для добавления в список рассылки, это может быть отличным местом, чтобы спросить адрес электронной почты пользователя, потому что тогда бот получит эту информацию.
6. Добавьте триггеры вопросов и ответов.
Вы действительно на пути к тому, чтобы научиться создавать бота для бизнеса!
После того, как все параметры диалога настроены, вы можете упростить задачу для пользователя, введя триггеры Q + A.
Это триггерные слова, которые приведут к диалогам, которые вы настроили ранее, без необходимости для пользователя проходить весь процесс диалога.
Например, я подумал, что вполне вероятно, что пользователь свяжется с моей страницей просто для того, чтобы запросить демонстрацию.
В этом случае пользователь выберет сообщение боту и может просто ввести «Demo».
Итак, я установил триггерное слово «демо», чтобы вызвать диалог формы, который запрашивает номер телефона пользователя.
7. Проверьте своего бота!
Ах, вы сделали это! Вы узнали, как создать бота для бизнеса.
Последний шаг, однако, — протестировать вашего бота, чтобы убедиться, что все работает правильно.
Здесь вы увидите, что когда я перехожу к своей странице сообщения, есть опция «Начать.«Вот как вы узнаете, что собираетесь взаимодействовать с ботом.
Когда я нажимаю «Начать», бот отвечает приветственным сообщением. Я немного изменил его, чтобы у меня было два варианта: «Узнать о ботах» или «Покажи мне единорога!»
Я решил пойти с «Покажи мне единорога!» сначала (ради радости и счастья, конечно). Бот отвечает GIF-изображением единорога и возможностью увидеть другого (если вы помните, вы можете настроить эти параметры в диалогах).
Но пока хватит единорогов.Поэтому я выбираю «Нет!» которое, как я решил, вернет меня к первому сообщению, предлагающему выбрать вариант.
На этот раз я выбираю «Узнать больше». Бот отвечает первой частью диалога «Узнать больше о ботах», который я ранее создал.
Однако я решил попробовать прервать его, поэтому набираю «Demo», прежде чем он сможет закончиться.
Обратите внимание на значок набора текста здесь, в Facebook Messenger. Это виджет, который вы можете добавить в свои диалоги, чтобы ваш бот выглядел более человечным, как если бы он печатал.
Теперь бот отвечает диалогом формы, который я установил ранее. В моем случае Facebook автоматически загружает мой номер телефона (который я заблокировал!), Поэтому я могу легко щелкнуть по нему и предоставить боту.
И, вау-лах! Вы протестировали своего бота и официально узнали, как создать бота для бизнеса.
Присоединяйтесь к сегодняшнему вебинару с Ларри Кимом!
(Или зарегистрируйтесь для бесплатного воспроизведения)
Узнайте все о НОВЫХ инструментах от MobileMonkey до 10-кратное взаимодействие с Instagram с автоматизацией обмена сообщениями.
Как создать бота для бизнеса: напоминание
Это было много информации, поэтому, возможно, нам следует быстро рассмотреть шаги по созданию бота для бизнеса.
Во-первых, в вашем стремлении узнать, как создать бота для бизнеса, вы захотите решить, что этот бот будет делать для вашего бизнеса. Ответит ли он на вопросы пользователей? Будет ли он собирать информацию о лидах?
Затем вы хотите перейти на MobileMonkey.com и создать бесплатную учетную запись.Это совсем не займет времени, и тогда у вас будет доступ ко многим бесплатным функциям, которые предлагает MobileMonkey!
Затем вы хотите выбрать «Чат-боты» на боковой панели и выбрать между опциями бота «Диалоги» и «Q + A».
Теперь вам нужно создать различные варианты диалога. Вот как пользователь взаимодействует с ботом и как развивается разговор с ботом. С помощью этих параметров вы можете включать варианты ответов, URL-адреса, контактные формы и различные виджеты, которые персонализируют взаимодействие с пользователем.
После заполнения параметров диалога вы захотите добавить триггеры Q + A, чтобы пользователь мог легко получить доступ к вашим диалогам, набирая простые слова или фразы вместо разговора с ботом.
Наконец, когда вы научились создавать бота для бизнеса и создали своего первого бота, вы захотите протестировать бота, чтобы убедиться, что он работает должным образом.
Итак, вы узнали, как создать бота для бизнеса, и теперь можете добавить его на свою страницу Facebook, веб-сайт, WordPress и многое другое!
Важные следующие шаги
- Создайте своего первого чат-бота сегодня после регистрации в MobileMonkey.
- Обсудите и узнайте о чат-ботах с другими энтузиастами. Присоединяйтесь к MobileMonkey Island, нашей группе в Facebook, состоящей из 40 тысяч маркетологов и предпринимателей, готовых поддержать вас.
- Повысьте эффективность своего маркетинга с помощью Chatbot University, бесплатного учебного пособия по чат-ботам и области обучения для маркетологов в чате.
ПОЛУЧИТЕ НОВЫЕ ИНСТРУМЕНТЫ INSTAGRAM ОТ MOBILEMONKEY
Увеличивайте число подписчиков в Instagram и вовлекайте их с помощью новых инструментов для влиятельных лиц, художников, брендов и компаний D2C.Зарегистрируйтесь, чтобы первыми использовать инструменты, которые генерируют элитное взаимодействие через личные сообщения Instagram.
Как создать бота для бизнеса: часто задаваемые вопросы (FAQ)
Можно ли зарабатывать деньги с помощью чат-ботов?
Да, вы можете зарабатывать деньги с помощью чат-ботов для электронной коммерции. Чтобы научиться продавать товары в Интернете с помощью чат-ботов, вам потребуется лишь незначительное количество проб и ошибок с вашими собственными продуктами или услугами. А чат-боты — это популярный маркетинговый инструмент в онлайн-бизнесе, потому что хорошо запрограммированный чат-бот — это помощник по продажам для вашего бизнеса 24/7.
Чат-боты также являются одним из самых популярных маркетинговых инструментов электронной коммерции для стимулирования маркетинговых кампаний с прямым откликом. Это особенно актуально для аффилированных лиц, поскольку чат-боты в целом стали обязательным инструментом партнерского маркетинга.
Вовлеченность — это игра в современном мире динамичного цифрового маркетинга, и продажи с помощью веб-чата могут дать вам преимущество, поскольку для ваших клиентов нет ничего более привлекательного, чем наличие виджета живого чата, с которым можно было бы взаимодействовать.
Добавление веб-чата для компонента поддержки клиентов на ваш веб-сайт и другие каналы открывает двери для многих новых возможностей продаж.
Как чат-боты помогают бизнесу?
Список примеров использования чат-ботов и веб-чатов растет с каждым днем. Для бизнеса важно знать, когда и где использовать чат-ботов в своих интересах. Программное обеспечение чат-бота для бизнеса чаще всего используется для маркетинга, поддержки клиентов и продаж. Кроме того, чат-ботов можно использовать в различных маркетинговых каналах, таких как Messenger для Facebook и Instagram, текстовый маркетинг по SMS и чат в реальном времени (также иногда называемый веб-чатом) для вашего веб-сайта.
Платформы чат-ботов, такие как MobileMonkey, работают по всем вышеупомянутым каналам и считаются инструментами кросс-канального маркетинга.
Некоторые из наиболее распространенных вариантов использования чат-ботов включают капельные кампании, автоматизацию распространения контента и рост списков контактов электронной почты.
Чат-боты также часто используются для чата поддержки клиентов, а также в качестве инструментов маркетинга электронной коммерции для продажи большего количества товаров в Интернете.
Чат-боты Facebook Messenger и Instagram Messenger также имеют свои собственные варианты использования.Существует множество шаблонов чат-ботов Facebook Messenger на выбор, когда дело доходит до маркетинга в Facebook Messenger, например, Free Facebook Lead Generator от MobileMonkey.
Еще в последнее время платформы чат-ботов все чаще используют инструменты SMS-маркетинга, которые могут выполнять такие задачи, как отправка текстовых сообщений и текстов напоминаний о встрече, используя ключевые слова SMS в качестве триггеров. Вы даже можете использовать своего SMS-чат-бота, чтобы получить больше подписчиков на SMS.
Какие самые лучшие чат-боты?
Есть много отличных платформ для чат-ботов на выбор.Чтобы определить лучшего чат-бота для вашего бизнеса, вам нужно подумать, для чего вам нужно использовать чат-ботов. Например, вы ищете лучшего маркетингового бота, лучшие инструменты SMS-маркетинга или, может быть, лучшего чат-бота для обслуживания клиентов?
Независимо от ваших сценариев использования вам также необходимо учитывать стоимость и узнать о ценах на чат-ботов. Кроме того, если вы ищете простой в использовании сервис чат-бота, вам нужно найти программное обеспечение для чат-бота с конструктором чат-ботов с перетаскиванием.
Как один из лучших чат-ботов для бизнеса, MobileMonkey имеет собственную запатентованную технологию OmniChatⓇ. OmniChatⓇ от MobileMonkey объединяет решения для чат-маркетинга из Facebook Messenger, Instagram Messenger, программного обеспечения для онлайн-чата на веб-сайтах, маркетинга текстовых SMS-сообщений и других наиболее эффективных маркетинговых каналов — все на одной платформе.
Если вашей целью является создание продвинутых ботов с большим количеством настроек, MobileMonkey также имеет усовершенствованный конструктор чат-ботов, а также мощные инструменты автоматизации маркетинга.
Где используются чат-боты?
Поскольку программное обеспечение чат-ботов является относительно новым для делового мира, некоторые фундаментальные вопросы все еще не решены, например, где и когда лучше всего использовать чат-ботов?
Есть несколько распространенных мест для использования чат-ботов:
Добавить чат на ваш сайт довольно просто и имеет много преимуществ. Кроме того, существуют многоканальные чат-боты, где вы можете использовать единую платформу чат-бота для подключения всех ваших маркетинговых каналов в чате.Например, чат-бот на вашем веб-сайте может быть виджетом живого чата Facebook. Это означает, что вы можете использовать на своих веб-страницах того же чат-бота, что и для Facebook Messenger для бизнеса.
Многие компании делают это, чтобы использовать всемирно известное чат-приложение, такое как Facebook Messenger, для чата с клиентами на WordPress и других веб-сайтах.
Говоря о Messenger, в Facebook и Instagram есть несколько мест для бизнеса, где вы можете использовать чат-ботов в качестве мощного инструмента маркетинга в социальных сетях.Например, вы можете добавить ботов ко всем своим сообщениям в Facebook или Instagram, чтобы использовать их в качестве автоответчика комментариев Facebook.
Количество мест для использования чат-ботов продолжает быстро расти. От традиционных бесплатных рекламных сайтов до новых вариантов использования, таких как использование чат-ботов для конференц-связи Zoom.
Что такое MobileMonkey?
MobileMonkey помогает предприятиям автоматически связываться с клиентами в уже используемых приложениях для обмена сообщениями.
Компании используют MobileMonkey, чтобы мгновенно привлекать и квалифицировать потенциальных клиентов, поддерживать обслуживание клиентов, а также привлекать и повторно привлекать клиентов с помощью обмена сообщениями один на один в режиме реального времени в универсальном чате и платформе автоматизации для SMS, онлайн-чата , Facebook Messenger, Instagram и WhatsApp.
MobileMonkey — лучшая платформа чат-ботов для маркетинга, продаж и поддержки клиентов, объединенная во всех приложениях для обмена сообщениями на базе технологии OmniChatⓇ.
Как создать бота Discord
Фото: Мартин Бюро (Getty Images)
Как только вы пробыли в Discord достаточно долго, вы столкнетесь с ботом Discord. Возможно, он приветствовал вас на новом сервере или загрузил кого-то, кто нарушил правила. Может быть, это происходило из цитат из Zero Wing всякий раз, когда кто-то набирал слово «база».«Некоторые мощные варианты ботов Discord постоянно держат пользователей в чате в курсе последних новостей о наличии вакцины против COVID-19.
Боты могут сильно различаться по функциям и сложности, и хотя вы можете получить базу кода для одного, вы можете захотеть создать свою собственную. Изучение того, как создать его с нуля, не только гарантирует, что вы сможете настроить его в соответствии с вашими потребностями, но и поможет вам понять внутреннюю работу бота и, что немаловажно, как его устранять, когда что-то идет не так.
Итак, сегодня мы собираемся использовать Python, который известен как довольно хороший первый язык для всех, кто хочет научиться программировать, благодаря его относительно легко читаемому коду и встроенному функциональному форматированию (отступы не только полезно для чтения, но и необходимо!). Вот что вам понадобится для начала:
- Хороший компьютер.
- Установка Python.
- Интегрированная среда разработки (IDE) — здесь вы будете вводить свой код.
- Учетная запись и сервер Discord.
- Кофе (по желанию, настоятельно рекомендуется).
Я исхожу из предположения, что если вы здесь пытаетесь выяснить это, значит, у вас уже есть учетная запись и вы используете сервер Discord. Если нет, зарегистрируйтесь и сделайте сервер. Как только вы закончите с этим, вы захотите перейти на портал разработчика. Слева щелкните вкладку Applications , затем кнопку New Application в правом верхнем углу.
Скриншот: Wes Davis / Gizmodo
Здесь вы фактически не называете бота как такового — это приложение, которое содержит бота. При этом нет причин, по которым приложение и бот не могут использовать одно и то же имя. Создав приложение, нажмите на него, затем нажмите ссылку Bot на боковой панели — именно здесь вы можете использовать процесс Build-A-Bot Discord для создания маленького автомата.
G / O Media может получить комиссию
Скриншот: Wes Davis / Gizmodo
После создания бота вы должны получить сообщение: «Появился дикий бот!» Поздравляю! Это бот! Я горжусь тобой.Назовите своего бота, и под полем Username вы увидите раздел токенов, в котором ваш токен будет скрыт за ссылкой.
Примечание о токенах ботовОчень важно, чтобы вы держали этот токен в секрете и сохраняли его в безопасности. Токен — это уникальный идентификатор, специально предназначенный для вашего бота, и если кто-то еще воспользуется им, он сможет взять под свой контроль вашего бота. Это также то, как вы связываете код, который вы пишете, с ботом. Это настолько конфиденциальная информация, что это даже не , что хорошая идея, чтобы вы держали ее непосредственно в своем коде, но мы вернемся к этому позже.
А пока откройте текстовый редактор и вставьте туда токен. Сохраните его в любую папку, в которой вы планируете хранить любые материалы, связанные с ботами, желательно с именем вроде token.txt , чтобы избежать путаницы в будущем.
Предоставление разрешений вашему ботуЗатем вам нужно предоставить разрешения вашему боту. Пока ваш бот все еще открыт, щелкните OAuth3 на боковой панели и в разделе Scopes на этом экране установите флажок с надписью bot , а затем прокрутите вниз до Bot Permissions и подключите его с некоторыми возможностями.Поля, которые вы отметите, выбираете вы, а те, которые я выбрал на скриншоте ниже, никоим образом не являются рецептом:
Скриншот: Wes Davis / Gizmodo
Пока вы на нем, нажмите bot в Снова боковая панель и прокрутите вниз до Privileged Gateway Intents . Если вы хотите, чтобы ваш бот каким-либо образом реагировал на присутствие пользователей или использовал список участников, вам необходимо включить их:
Снимок экрана: Wes Davis / Gizmodo
Назначение бота вашему серверуПосле Если вы предоставили соответствующие разрешения, вам необходимо скопировать ссылку под панелью Scopes , открыть новую вкладку браузера и вставить ее в адресную строку / строку поиска, затем нажать Введите .Это приведет вас к этому экрану, где вы выберете сервер (или то, что иногда называют в официальном API ботов Python Discord как «гильдию»), на который вы поместите своего бота. Нажмите Продолжить , и вы попадете на экран для подтверждения разрешений бота для этого сервера:
Снимок экрана: Wes Davis / Gizmodo
Боковое примечание: разрешения вашего бота зависят от сервера, поэтому следует, что, если вы хотите чтобы просмотреть разрешения, предоставленные вашему боту, вы должны сделать это с этого конкретного сервера.Если вы просто хотите просмотреть их, сделайте следующее: щелкните правой кнопкой мыши свой сервер в верхнем левом углу окна Discord, выберите Server Settings , затем Integrations . Здесь вы увидите своего бота под заголовком Bots and Apps . Нажмите на нее, и вы увидите все разрешения, которые вы предоставили своему боту. Если вы хотите их изменить, вам нужно будет пойти другим путем, щелкнув Roles вместо Integrations , а затем щелкнув своего бота и перейти на вкладку Permissions на следующем экране.
После подтверждения разрешений, которые вы предоставили своему боту, нажмите Авторизовать и вуаля! Вы создали бота и назначили его серверу. Теперь вы должны увидеть сообщение «Появился дикий [имя бота]». Пришло время запрограммировать бота! Если вы пытались раньше и потерпели неудачу, скорее всего, вы отказались от этого. Давай попробуем еще раз — вот оно.
Вдыхая жизнь в вашего ботаЧтобы продолжить, вам нужно убедиться, что у вас установлен Python.Есть много руководств по этому поводу — мне нравится этот. После того, как вы настроите Python, вам понадобится модуль Discord. Он содержит все необходимые вам команды для Discord. Если вы работаете в Windows, откройте командную строку , используя описанные здесь шаги, и введите следующее, нажав Введите , когда закончите:
py -3 -m pip install -U discord.py
Если вы вы используете macOS или Linux, откройте Terminal и введите:
python3 -m pip install -U discord.py
Завершив этот шаг, откройте любую IDE, которую вы выбрали для использования. Мне лично нравится Sublime, но вы можете использовать все, что захотите. Черт возьми, вы даже можете использовать обычный текстовый редактор, если чувствуете себя пикантным. В открытом редакторе создайте новый файл и введите его в первой строке:
import discord
Это добавит библиотеку Discord в ваш код. Затем вам нужен способ связать вашего бота с этим кодом. Это означает вызов токена для бота, но помните, когда я сказал, что неплохо не хранить этот токен непосредственно в вашем коде, а хранить его в файле.txt вместо этого? Следующая строка показывает, как вы получаете ее из этого файла .txt:
TOKEN = open («token.txt», «r»). Readline ()
В этой строке вы создаете свою первую переменную: строка символов, которую вы можете ввести для ссылки на конкретное действие. Здесь TOKEN — это переменная, знак = сообщает компьютеру, что он собирается интерпретировать эту переменную как нечто, а текст, следующий за этим, является этим чем-то. Здесь open () сообщает компьютеру, что он собирается открыть файл, а внутри скобок находится пара аргументов, первый из которых определяет файл, который вы хотите открыть (если вы не назвали свой файл токеном .txt , затем замените здесь токен на то, что вы его назвали), и r сообщает ему режим, в котором вы хотите, чтобы он открывался. Мы хотим только прочитать токен, поэтому мы используем r , чтобы открыть его в режиме чтения. режим. Бит .readline () сообщает ему, какую строку читать. Так как читать нужно только одну, круглые скобки оставьте пустыми.
Discord IntentsИз-за некоторых недавних изменений в том, как Discord обрабатывает подписки на события ботов, вам нужно будет предпринять некоторые дополнительные шаги, чтобы ваш бот мог реагировать на определенные события, например, присоединение участника.Discord называет эти специальные разрешения намерениями, а некоторые из них более высокого уровня, такие как мониторинг пользователей, называются привилегированными намерениями (переключатели, которые вы могли переключить ранее в процессе). Помимо включения их во время настройки бота, вам также необходимо включить намерения в своем коде. Во-первых, если вы просто хотите работать с подписками на события по умолчанию, определите намерения как значения по умолчанию:
intents = discord.Intents.default ()
Затем вы перейдете к True для любого из дополнительных намерений Ты бы хотел.Кроме того, вы можете не захотеть использовать все значения по умолчанию и захотите, чтобы ваш бот реагировал только на ограниченное количество типов событий. В этом случае вместо вышеуказанного вы можете сделать следующее:
intents.members = True
intents.messages = True
intents.guilds = True
Последний шаг мы take for this section определяет вашего клиента и обеспечивает:
Client = discord.Client (intents = intents)
Хорошо, теперь мы готовы начать говорить нашему боту, что делать.Во-первых, полезно добавить оператор print () , чтобы у вас было подтверждение того, что ваше программное обеспечение успешно вошло в систему. Этот фрагмент кода будет печатать или отображать оператор в вашей среде выполнения (терминал или иначе), подтверждающий, что ваш бот подключен и работает:
@ client.event
async def on_ready ():
print ('Выполнен вход как {0.user}'. формат (клиент))
Причина, по которой мы используем async здесь, заключается в том, что Python по умолчанию является синхронным, то есть он запускает команду и ожидает ее завершения, прежде чем двигаться дальше.Вы не обязательно хотите этого при общении с сервером, потому что, если сервер зависает или что-то в этом роде, ваша программа тоже. Если последующий код вообще не зависит от этой строки кода, почему бы не позволить вашей программе просто продолжать выполнение другого кода? Таким образом, вы будете использовать async (сокращение от asynchronous), чтобы ваш сервер мог продолжать выполнять другой код. Когда Discord отвечает, ваш код продолжит работу с того места, где он остановился, и выполнит все операторы, поступившие после используемого вами асинхронного обработчика (в данном случае это on_ready () ).
Далее давайте рассмотрим, как заставить вашего бота реагировать на команды. В качестве примера позвольте боту поздороваться с вами. Во-первых, вам нужно вызвать обработчик сообщений:
@ client.event
async def on_message (message):
Затем, чтобы бот не отвечал сам себе, верните код без каких-либо действий, если бот говорит что угодно:
if message.author == client.user:
return
Наконец, команда, которая запрашивает ответ бота:
if message.content.startswith ('. hello'):
await message.channel.send ('Hello!')
Таким образом, весь блок вместе будет выглядеть так:
@ client.event
async def on_message (message):
if message.author == client.user:
return
if message.content.startswith ('. Hello'):
Код предотвращения петель здесь, конечно, не является строго необходимым; бот в любом случае не застрянет, отвечая самому себе.Однако по мере того, как ваш код становится более сложным, вы можете случайно запрограммировать бота, который потенциально может запустить себя и закончить цикл самозапуска и ответа — скажем, если вы создадите случайного бота с цитатой из фильма, и один из ваших триггеров слова на самом деле находится в цитате из любой библиотеки цитат, которую вы взяли.
Этот следующий фрагмент кода позволяет вашему боту отправлять приветственное сообщение. Именно здесь намерения, которые мы включили в верхней части нашего кода, являются необходимостью, поскольку они требуют, чтобы бот отслеживал список участников, что Discord считает привилегированным намерением:
@client.событие
async def on_member_join (member):
print ('got a thing')
channel = client.get_channel ([Channel ID Goes Here])
(await channel.send «Добро пожаловать на этот канал!»)
Вот некоторые ключевые моменты:
Этот оператор печати используется для целей отладки. Во время тестирования приветственного сообщения у меня была фиктивная учетная запись, присоединяющаяся к серверу Discord и выходящая из нее, и я долгое время не мог вызвать приветственное сообщение.Я ввел оператор печати, чтобы убедиться, что async def on_member_join (member): фактически запускает программу для запуска последующего кода. Если бы это было так, оператор печати в Терминале сказал бы: «Есть вещь». Этого не было, поэтому пришлось отлаживать. Ключевая строка кода оказалась наверху:
Client = discord.Client (intents = intents)
Мне нужен этот код, чтобы бот (клиент) получил разрешения, которые я ему дал. . Вы делаете это, помещая аргумент в скобки выше, который устанавливает намерения бота, равные тем, которые определены в верхней части нашего кода.Я, конечно, оставил всю эту строку кода, поэтому мой бот на самом деле не использовал намерения, которые я для него включил.
Чтобы получить идентификатор канала: пока вы находитесь на канале, для которого требуется идентификатор, вам нужно посмотреть в адресной строке, где должен быть URL-адрес, за которым следуют два длинных набора чисел, разделенных знаком /. Второй набор — это идентификатор вашего канала, а первый — идентификатор вашего сервера или гильдии. Используйте идентификатор канала в аргументе выше.
Наконец, при использовании async необходим компонент await этого набора кода.Если ваш бот собирается ответить, ему нужна какая-то функция обратного вызова, чтобы он знал, что делать, когда сервер наконец ответит; await выполняет эту функцию, в данном случае говоря боту отправить сообщение по ранее определенному каналу: «Добро пожаловать на этот канал!»
Давайте посмотрим на окончательный код со всем подходящим (и очень необходимым!) Форматированием:
Весь наш бот, на одном маленьком снимке экрана! Скриншот: Wes Davis
Сохраняя светИтак, вы, вероятно, захотите, чтобы ваш бот всегда работал.Есть несколько способов сделать это: во-первых, вы можете просто запустить его со своего основного компьютера дома, но для этого нужно, чтобы компьютер всегда был включен и всегда был подключен, и, вероятно, никогда не спал (технически можно позволить ему спите, если ваш компьютер настроен на пробуждение по локальной сети, но эта функция может быть неприятной и непредсказуемой).
Лучшим вариантом может быть запуск кода на Raspberry Pi или другом выделенном маломощном сервере. По сути, вы должны запустить свой *.py на сервере, и, если все идет хорошо, она просто будет работать неопределенное время. Это нормально, когда ты только начинаешь. По мере того, как ваш бот становится более сложным и — если вы разрешите — начинает использоваться на других серверах Discord, вы, вероятно, захотите, чтобы он работал как можно ближе к 24/7. Для этого вам нужно изучить услуги стороннего хостинга. Существует множество бесплатных и платных вариантов, и вот достойное, подробное руководство, которое поможет вам в этом.
Вот и все! С этим базовым набором команд у вас теперь есть функциональный бот.Конечно, с помощью бота вы можете автоматизировать гораздо больше, и я бы посоветовал вам изучить Stack Overflow и discord.py API. Боты могут быть настолько мощными, насколько вы хотите, с автоматизацией, которая значительно облегчит вашу жизнь в качестве администратора, или они могут быть просто забавными маленькими машинами для цитат или развлечением для небольшого сервера Discord, которым вы поделитесь с друзьями. В любом случае это интересный способ не только управлять сервером Discord, но и извлекать уроки из программирования.
Как создать бота Discord на Python — настоящий Python
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python.Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Создание бота Discord на Python
В мире, где видеоигры так важны для многих людей, общение и сообщество вокруг игр имеют жизненно важное значение. Discord предлагает и то, и другое в одном хорошо продуманном пакете. В этом руководстве вы узнаете, как создать бота Discord на Python, чтобы максимально использовать возможности этой фантастической платформы.
К концу этой статьи вы узнаете:
- Что такое Discord и почему он так ценен
- Как создать бота Discord через Портал разработчиков
- Как создавать подключения к Discord
- Как обрабатывать события
- Как принимать команды и проверять предположения
- Как взаимодействовать с различными API Discord
Вы начнете с того, что узнаете, что такое Discord и почему он так ценен.
Что такое раздор?
Discord — это платформа голосового и текстового общения для геймеров.
Игроки, стримеры и разработчики используют Discord для обсуждения игр, ответов на вопросы, общения во время игры и многого другого. У него даже есть игровой магазин с критическими отзывами и услугой подписки. Это почти универсальный магазин для игровых сообществ.
Хотя есть много вещей, которые вы можете создать с помощью API Discord, в этом руководстве основное внимание будет уделено конкретному результату обучения: как создать бота Discord на Python.
Что такое бот?
Популярность Discord растет. Таким образом, автоматизированные процессы, такие как блокировка неподходящих пользователей и реагирование на запросы пользователей, жизненно важны для процветания и роста сообщества.
Автоматизированные программы, которые выглядят и действуют как пользователи и автоматически реагируют на события и команды в Discord, называются пользователями-ботами . Пользователи ботов Discord (или ботов ) имеют практически неограниченное количество приложений.
Например, предположим, что вы управляете новой гильдией Discord, и пользователь присоединяется к ней впервые.Взволнованный, вы можете лично обратиться к этому пользователю и поприветствовать его в своем сообществе. Вы также можете рассказать им о своих каналах или попросить их представиться.
Пользователь чувствует себя желанным гостем и наслаждается обсуждениями, которые происходят в вашей гильдии, а он, в свою очередь, приглашает друзей.
Со временем ваше сообщество разрастается настолько, что уже невозможно лично связаться с каждым новым членом, но вы все равно хотите послать им что-нибудь, чтобы признать их новым членом гильдии.
С помощью бота можно автоматически реагировать на присоединение нового члена к вашей гильдии. Вы даже можете настроить его поведение в зависимости от контекста и контролировать, как он взаимодействует с каждым новым пользователем.
Это замечательно, но это лишь один небольшой пример того, как бот может быть полезным. У вас так много возможностей для творчества с ботами, если вы знаете, как их создавать.
Примечание: Хотя Discord позволяет создавать ботов, которые имеют дело с голосовой связью, эта статья будет придерживаться текстовой части службы.
При создании бота необходимо выполнить два основных этапа:
- Создайте пользователя-бота на Discord и зарегистрируйте его в гильдии.
- Напишите код, который использует API Discord и реализует поведение вашего бота.
В следующем разделе вы узнаете, как создать бота Discord на портале разработчиков Discord.
Как создать бота Discord на портале разработчиков
Прежде чем вы сможете погрузиться в какой-либо код Python для обработки событий и создания захватывающей автоматизации, вам необходимо сначала создать несколько компонентов Discord:
- Счет
- Приложение
- Бот
- Гильдия
Вы узнаете больше о каждой детали в следующих разделах.
После того, как вы создадите все эти компоненты, вы свяжете их вместе, зарегистрировав своего бота в своей гильдии.
Вы можете начать с портала разработчиков Discord.
Создание учетной записи Discord
Первое, что вы увидите, это целевая страница, на которой вам нужно будет либо войти в систему, если у вас уже есть учетная запись, либо создать новую:
Если вам нужно создать новую учетную запись, нажмите кнопку «Регистрация» под «Вход в систему» и введите данные своей учетной записи.
Важно: Вам нужно будет подтвердить свой адрес электронной почты, прежде чем вы сможете продолжить.
Когда вы закончите, вы будете перенаправлены на главную страницу портала разработчиков, где вы создадите свое приложение.
Создание приложения
Приложение позволяет взаимодействовать с API Discord, предоставляя токены аутентификации, назначая разрешения и т. Д.
Чтобы создать новое приложение, выберите Новое приложение :
Затем вам будет предложено назвать ваше приложение.Выберите имя и нажмите Создать :
Поздравляем! Вы подали заявку на Discord. На появившемся экране вы увидите информацию о своем приложении:
Имейте в виду, что для любой программы, взаимодействующей с API Discord, требуется приложение Discord, а не только боты. API, связанные с ботами, — это лишь часть всего интерфейса Discord.
Однако, поскольку это руководство посвящено созданию бота Discord, перейдите на вкладку Bot в левом списке навигации.
Создание бота
Как вы узнали в предыдущих разделах, пользователь-бот — это тот, кто слушает и автоматически реагирует на определенные события и команды в Discord.
Чтобы ваш код действительно отображался в Discord, вам нужно создать пользователя-бота. Для этого выберите Добавить бота :
После того, как вы подтвердите, что хотите добавить бота в свое приложение, вы увидите нового пользователя бота на портале:
Обратите внимание, что по умолчанию ваш пользователь-бот унаследует имя вашего приложения.Вместо этого обновите имя пользователя на что-то более похожее на бота, например RealPythonTutorialBot
и Сохранить изменения :
Теперь бот настроен и готов к работе, но куда?
Пользователь-бот бесполезен, если он не взаимодействует с другими пользователями. Затем вы создадите гильдию, чтобы ваш бот мог взаимодействовать с другими пользователями.
Создание гильдии
Гильдия (или сервер , как его часто называют в пользовательском интерфейсе Discord) — это особая группа каналов, по которой пользователи собираются для общения.
Примечание: Хотя гильдия и сервер являются взаимозаменяемыми, в этой статье будет использоваться термин гильдия в первую очередь потому, что в API используется один и тот же термин. Термин сервер будет использоваться только для обозначения гильдии в графическом интерфейсе.
Например, вы хотите создать пространство, где пользователи могут собраться вместе и рассказать о вашей последней игре. Вы бы начали с создания гильдии. Тогда в вашей гильдии у вас может быть несколько каналов, например:
- Общее обсуждение: Канал, где пользователи могут говорить обо всем, что они хотят.
- Спойлеры, Осторожно: Канал для пользователей, которые завершили вашу игру, чтобы рассказать обо всех открытиях в конце игры.
- Объявления: Канал, где вы можете сообщать об обновлениях игры и чтобы пользователи могли их обсуждать
Создав гильдию, вы приглашаете других пользователей в нее.
Итак, чтобы создать гильдию, зайдите на свою домашнюю страницу в Discord:
С этой домашней страницы вы можете просматривать и добавлять друзей, личные сообщения и гильдии. Отсюда выберите значок + в левой части веб-страницы, чтобы добавить сервер :
Будет представлено два варианта: Создать сервер и Присоединиться к серверу . В этом случае выберите . Создайте сервер и введите имя вашей гильдии:
.Когда вы закончите создание своей гильдии, вы сможете увидеть пользователей справа и каналы слева:
Последний шаг в Discord — зарегистрировать своего бота в новой гильдии.
Добавление бота в гильдию
Бот не может принимать приглашения, как обычный пользователь. Вместо этого вы добавите своего бота, используя протокол OAuth3.
Технические детали: OAuth3 — это протокол для работы с авторизацией, при котором служба может предоставить клиентскому приложению ограниченный доступ на основе учетных данных приложения и разрешенных областей.
Для этого вернитесь на портал разработчика и выберите страницу OAuth3 в левой навигационной панели:
В этом окне вы увидите Генератор URL-адресов OAuth3.
Этот инструмент генерирует URL-адрес авторизации, который обращается к API-интерфейсу Discord OAuth3 и разрешает доступ к API с использованием учетных данных вашего приложения.
В этом случае вы захотите предоставить пользователю-боту вашего приложения доступ к API Discord, используя учетные данные OAuth3 вашего приложения.
Для этого прокрутите вниз и выберите bot из SCOPES options и Administrator from BOT PERMISSIONS :
Теперь Discord сгенерировал URL-адрес авторизации вашего приложения с выбранной областью действия и разрешениями.
Заявление об отказе от ответственности: Хотя мы используем Administrator для целей этого руководства, вы должны быть максимально детализированными при предоставлении разрешений в реальном приложении.
Выберите Скопируйте рядом с URL-адресом, который был сгенерирован для вас, вставьте его в свой браузер и выберите свою гильдию из раскрывающихся опций:
Нажмите Авторизовать , и готово!
Примечание: Вы можете получить reCAPTCHA, прежде чем двигаться дальше.В таком случае вам нужно будет доказать, что вы человек.
Если вы вернетесь в свою гильдию, то увидите, что бот добавлен:
Таким образом, вы создали:
- Приложение , которое ваш бот будет использовать для аутентификации с помощью API Discord
- Бот , пользователь , которого вы будете использовать для взаимодействия с другими пользователями и событиями в вашей гильдии
- гильдия , в которой будут активны ваша учетная запись и ваш пользователь-бот
- Аккаунт Discord , с помощью которого вы создали все остальное и которое будете использовать для взаимодействия со своим ботом
Теперь вы знаете, как создать бота Discord с помощью портала разработчика.Затем начинается самое интересное: реализация вашего бота на Python!
Как создать бота Discord на Python
Поскольку вы учитесь создавать бота Discord на Python, вы будете использовать discord.py
.
discord.py
— это библиотека Python, которая исчерпывающе реализует API Discord эффективным и питоническим способом. Это включает использование реализации Python Async IO.
Начните с установки discord.py
с pip
:
$ pip install -U discord.ру
Теперь, когда вы установили discord.py
, вы сможете использовать его для создания первого подключения к Discord!
Создание подключения к Discord
Первым шагом в реализации вашего пользователя-бота является создание подключения к Discord. С discord.py
вы делаете это, создавая экземпляр Client
:
# bot.py
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
клиент = разлад.Клиент ()
@ client.event
async def on_ready ():
print (f '{client.user} подключился к Discord!')
client.run (ТОКЕН)
Клиент
— это объект, который представляет соединение с Discord. Клиент
обрабатывает события, отслеживает состояние и обычно взаимодействует с API Discord.
Здесь вы создали клиент
и реализовали его обработчик событий on_ready ()
, который обрабатывает событие, когда клиент
установил соединение с Discord и завершил подготовку данных, отправленных Discord, например в качестве состояния входа, данных гильдии и канала и т. д.
Другими словами, on_ready ()
будет вызываться (и ваше сообщение будет напечатано), как только клиент
будет готов к дальнейшим действиям. Подробнее об обработчиках событий вы узнаете позже в этой статье.
Когда вы работаете с секретами, такими как токен Discord, рекомендуется считывать его в свою программу из переменной среды. Использование переменных среды поможет вам:
- Избегайте передачи секретов в систему управления версиями
- Используйте разные переменные для сред разработки и производства без изменения кода
Хотя вы можете экспортировать DISCORD_TOKEN = {your-bot-token}
, более простым решением является сохранение .env
на всех машинах, на которых будет выполняться этот код. Это не только проще, поскольку вам не нужно экспортировать
свой токен каждый раз, когда вы очищаете оболочку, но и защищает вас от сохранения ваших секретов в истории оболочки.
Создайте файл с именем .env
в том же каталоге, что и bot.py
:
# .env
DISCORD_TOKEN = {ваш-бот-токен}
Вам необходимо заменить {your-bot-token}
на токен вашего бота, который вы можете получить, вернувшись на страницу Bot на портале разработчика и нажав Копировать в разделе TOKEN :
Оглядываясь назад на бота .py
, вы увидите библиотеку под названием dotenv
. Эта библиотека удобна для работы с файлами .env
. load_dotenv ()
загружает переменные среды из файла .env
в переменные среды вашей оболочки, чтобы вы могли использовать их в своем коде.
Установите dotenv
с точкой
:
$ pip install -U python-dotenv
Наконец, client.run ()
запускает ваш Client
, используя токен вашего бота.
Теперь, когда вы настроили bot.py
и .env
, вы можете запустить свой код:
$ python bot.py
RealPythonTutorialBot # 9643 подключился к Discord!
Отлично! Ваш Клиент
подключился к Discord с помощью токена вашего бота. В следующем разделе вы создадите этот Client
, взаимодействуя с другими API Discord.
Взаимодействие с API Discord
Используя Client
, вы получаете доступ к широкому спектру API Discord.
Например, предположим, вы хотите записать на консоль имя и идентификатор гильдии, в которой вы зарегистрировали своего пользователя-бота.
Сначала вам нужно добавить новую переменную среды:
# .env
DISCORD_TOKEN = {ваш-бот-токен}
DISCORD_GUILD = {имя-вашей-гильдии}
Не забывайте, что вам нужно будет заменить два заполнителя на фактические значения:
-
{ваш-бот-токен}
-
{your-guild-name}
Помните, что Discord вызывает on_ready ()
, который вы использовали ранее, после того, как клиент
установил соединение и подготовил данные.Таким образом, вы можете полагаться на данные гильдии, доступные внутри on_ready ()
:
# bot.py
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
ГИЛЬДИЯ = os.getenv ('DISCORD_GUILD')
client = discord.Client ()
@ client.event
async def on_ready ():
для гильдии в client.guilds:
если guild.name == ГИЛЬДИЯ:
сломать
Распечатать(
f '{client.user} связан со следующей гильдией: \ n'
f '{guild.name} (id: {guild.я бы})'
)
client.run (ТОКЕН)
Здесь вы просмотрели данные гильдии, которые Discord отправил client
, а именно client.guilds
. Затем вы нашли гильдию с совпадающим именем и напечатали отформатированную строку в stdout
.
Примечание: Несмотря на то, что на этом этапе обучения вы можете быть вполне уверены, что ваш бот подключен только к одной гильдии (так что client.guilds [0]
будет проще), важно понимать, что бот Пользователь может быть связан со многими гильдиями.
Следовательно, более надежное решение — пройти через client.guilds
, чтобы найти тот, который вы ищете.
Запустите программу, чтобы увидеть результат:
$ python bot.py
RealPythonTutorialBot # 9643 связан со следующей гильдией:
RealPythonTutorialServer (идентификатор: 571759877328732195)
Отлично! Вы можете увидеть имя своего бота, имя вашего сервера и идентификационный номер сервера.
Еще одна интересная информация, которую вы можете получить из гильдии, — это список пользователей, которые являются членами гильдии:
# бот.ру
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
ГИЛЬДИЯ = os.getenv ('DISCORD_GUILD')
client = discord.Client ()
@ client.event
async def on_ready ():
для гильдии в client.guilds:
если guild.name == ГИЛЬДИЯ:
сломать
Распечатать(
f '{client.user} связан со следующей гильдией: \ n'
f '{guild.name} (id: {guild.id}) \ n'
)
members = '\ n -' .join ([member.name члена в guild.members])
print (f'Члены гильдии: \ n - {members} ')
клиент.запустить (ТОКЕН)
Перебрав в цикле guild.members
, вы вытащили имена всех членов гильдии и напечатали их с форматированной строкой.
Когда вы запустите программу, вы должны увидеть хотя бы имя учетной записи, с которой вы создали гильдию, и имя самого пользователя-бота:
$ python bot.py
RealPythonTutorialBot # 9643 связан со следующей гильдией:
RealPythonTutorialServer (идентификатор: 571759877328732195)
Члены гильдии:
- aronq2
- RealPythonTutorialBot
Эти примеры едва касаются поверхности API, доступных в Discord, обязательно ознакомьтесь с их документацией, чтобы увидеть все, что они могут предложить.
Далее вы узнаете о некоторых служебных функциях и о том, как они могут упростить эти примеры.
Использование служебных функций
Давайте еще раз посмотрим на пример из последнего раздела, где вы напечатали имя и идентификатор гильдии бота:
# bot.py
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
ГИЛЬДИЯ = os.getenv ('DISCORD_GUILD')
client = discord.Client ()
@ client.event
async def on_ready ():
для гильдии в клиенте.гильдии:
если guild.name == ГИЛЬДИЯ:
сломать
Распечатать(
f '{client.user} связан со следующей гильдией: \ n'
f '{guild.name} (id: {guild.id})'
)
client.run (ТОКЕН)
Вы можете очистить этот код, используя некоторые служебные функции, доступные в discord.py
.
discord.utils.find ()
— это утилита, которая может улучшить простоту и читаемость этого кода, заменив цикл на
интуитивно понятной абстрактной функцией:
# бот.ру
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
ГИЛЬДИЯ = os.getenv ('DISCORD_GUILD')
client = discord.Client ()
@ client.event
async def on_ready ():
guild = discord.utils.find (лямбда g: g.name == ГИЛЬДИЯ, client.guilds)
Распечатать(
f '{client.user} связан со следующей гильдией: \ n'
f '{guild.name} (id: {guild.id})'
)
client.run (ТОКЕН)
find ()
принимает функцию, называемую предикатом , которая идентифицирует некоторую характеристику элемента в итерации, которую вы ищете.Здесь вы использовали в качестве предиката анонимную функцию определенного типа, называемую лямбда.
В этом случае вы пытаетесь найти гильдию с тем же именем, что и та, которую вы сохранили в переменной среды DISCORD_GUILD
. Как только find ()
найдет в итерируемом элементе элемент, удовлетворяющий предикату, он вернет этот элемент. Это по сути эквивалентно оператору break
в предыдущем примере, но более чистое.
раздор.py
даже абстрагировался от этой концепции на один шаг дальше с помощью утилиты get ()
:
# bot.py
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
ГИЛЬДИЯ = os.getenv ('DISCORD_GUILD')
client = discord.Client ()
@ client.event
async def on_ready ():
гильдия = discord.utils.get (client.guilds, имя = ГИЛЬДИЯ)
Распечатать(
f '{client.user} связан со следующей гильдией: \ n'
f '{guild.name} (id: {guild.id})'
)
клиент.запустить (ТОКЕН)
get ()
принимает аргументы итерации и некоторые ключевые слова. Ключевое слово arguments представляет атрибуты элементов в итерируемом объекте, которые должны быть удовлетворены, чтобы функция get ()
возвратила элемент.
В этом примере вы определили name = GUILD
как атрибут, который должен быть удовлетворен.
Технические детали: Под капотом get ()
фактически использует аргументы ключевого слова attrs
для построения предиката, который затем используется для вызова find ()
.
Теперь, когда вы изучили основы взаимодействия с API, вы немного углубитесь в функцию, которую вы использовали для доступа к ним: on_ready ()
.
Ответ на события
Вы уже узнали, что on_ready ()
— это событие. Фактически, вы могли заметить, что он определяется как таковой в коде декоратором client.event
.
Но что такое событие?
Событие — это то, что происходит в Discord, и вы можете использовать его для запуска реакции в своем коде.Ваш код будет прислушиваться к событиям, а затем реагировать на них.
Используя пример, который вы уже видели, обработчик события on_ready ()
обрабатывает событие, когда клиент
установил соединение с Discord и подготовил данные своего ответа.
Итак, когда Discord запускает событие, discord.py
перенаправляет данные события соответствующему обработчику событий на вашем подключенном клиенте
.
В discord.py
есть два способа реализовать обработчик событий:
- Использование клиента
.событие
декоратор - Создание подкласса
Client
и переопределение методов его обработчика
Вы уже видели реализацию с использованием декоратора. Затем посмотрим, как создать подкласс Клиент
:
# bot.py
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
класс CustomClient (discord.Client):
async def on_ready (сам):
print (f '{self.user} подключился к Discord!')
client = CustomClient ()
клиент.запустить (ТОКЕН)
Здесь, как и раньше, вы создали клиентскую переменную
и вызвали .run ()
с вашим токеном Discord. Однако реальный клиент
отличается. Вместо использования обычного базового класса, клиент
является экземпляром CustomClient
, который имеет переопределенную функцию on_ready ()
.
Нет никакой разницы между двумя стилями реализации событий, но в этом руководстве в первую очередь будет использоваться версия декоратора, потому что она похожа на то, как вы реализуете команды Bot
, и это тема, о которой вы немного поговорите.
Технические детали: Независимо от того, как вы реализуете свой обработчик событий, одно должно быть непротиворечивым: все обработчики событий в файле discord.py
должны быть сопрограммами.
Теперь, когда вы узнали, как создать обработчик событий, давайте рассмотрим несколько различных примеров обработчиков, которые вы можете создать.
Приветствие новых членов
Ранее вы видели пример реакции на событие, когда член присоединяется к гильдии. В этом примере ваш пользователь-бот может отправить им сообщение, приветствуя их в сообществе Discord.
Теперь вы реализуете это поведение в своем Client
, используя обработчики событий, и проверите его поведение в Discord:
# bot.py
импорт ОС
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
client = discord.Client ()
@ client.event
async def on_ready ():
print (f '{client.user.name} подключился к Discord!')
@ client.event
async def on_member_join (член):
ожидание member.create_dm ()
ждите member.dm_channel.Отправить(
f'Привет, {member.name}, добро пожаловать на мой сервер Discord! '
)
client.run (ТОКЕН)
Как и раньше, вы обработали событие on_ready ()
, распечатав имя пользователя-бота в форматированной строке. Новым, однако, является реализация обработчика событий on_member_join ()
.
on_member_join ()
, как следует из названия, обрабатывает событие присоединения нового члена к гильдии.
В этом примере вы использовали member.create_dm ()
для создания канала прямого сообщения.Затем вы использовали этот канал для .send ()
прямого сообщения этому новому участнику.
Технические детали: Обратите внимание на ключевое слово await
перед member.create_dm ()
и member.dm_channel.send ()
.
await
приостанавливает выполнение окружающей сопрограммы до тех пор, пока выполнение каждой сопрограммы не будет завершено.
А теперь давайте проверим новое поведение вашего бота.
Сначала запустите новую версию бота .py
и дождитесь запуска события on_ready ()
, записав ваше сообщение на stdout
:
$ python bot.py
RealPythonTutorialBot подключился к Discord!
Теперь перейдите в Discord, войдите в систему и перейдите к своей гильдии, выбрав ее в левой части экрана:
Выберите Пригласить людей рядом со списком гильдий, в котором вы выбрали свою гильдию. Установите флажок с надписью Установить эту ссылку, чтобы срок ее действия не истекал , и скопируйте ссылку:
Теперь, когда ссылка для приглашения скопирована, создайте новую учетную запись и присоединитесь к гильдии, используя ссылку для приглашения:
Во-первых, вы увидите, что Discord по умолчанию вводит вас в гильдию с помощью автоматического сообщения.Что еще более важно, обратите внимание на значок в левой части экрана, который уведомляет вас о новом сообщении:
Когда вы выберете его, вы увидите личное сообщение от вашего пользователя-бота:
Отлично! Ваш пользователь-бот теперь взаимодействует с другими пользователями с минимальным кодом.
Далее вы узнаете, как отвечать на определенные сообщения пользователя в чате.
Ответ на сообщения
Давайте расширим предыдущую функциональность вашего бота, обработав событие on_message ()
.
on_message ()
возникает, когда сообщение публикуется в канале, к которому у вашего бота есть доступ. В этом примере вы ответите на сообщение '99! '
с однострочником из телешоу Brooklyn Nine-Nine:
@ client.event
async def on_message (сообщение):
если message.author == client.user:
возвращение
brooklyn_99_quotes = [
'Я - человеческая форма 💯 эмодзи.',
'Bingpot!',
(
'Прохладный. Круто круто круто круто круто круто '
«без сомнения, без сомнения, без сомнения, без сомнения.'
),
]
если message.content == '99! ':
response = random.choice (brooklyn_99_quotes)
ждите message.channel.send (ответ)
Основная часть этого обработчика событий просматривает message.content
, проверяет, равно ли оно '99! '
, и в ответ отправляет случайную цитату в канал сообщения, если это так.
Другая важная штука:
, если message.author == client.user:
возвращение
Поскольку клиент
не может отличить пользователя-бота от обычного пользователя, обработчик on_message ()
должен защищать от потенциально рекурсивного случая, когда бот отправляет сообщение, которое он сам может обработать.
Для иллюстрации предположим, что вы хотите, чтобы ваш бот слушал, как пользователи говорят друг другу «С Днем Рождения»
. Вы можете реализовать обработчик on_message ()
следующим образом:
@ client.event
async def on_message (сообщение):
если "с днем рождения" в message.content.lower ():
await message.channel.send ('С Днем Рождения! 🎈🎉')
Помимо потенциально спамовой природы этого обработчика событий, он также имеет разрушительный побочный эффект. Сообщение, которым отвечает бот, содержит то же сообщение, которое он собирается обработать!
Итак, если один человек на канале говорит другому «С Днем Рождения», то бот тоже перезвонит… снова… и снова… и снова:
Вот почему так важно сравнить сообщение .автор
в client.user
(ваш пользователь-бот) и игнорирует любые собственные сообщения.
Итак, давайте исправим bot.py
:
# bot.py
импорт ОС
случайный импорт
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
client = discord.Client ()
@ client.event
async def on_ready ():
print (f '{client.user.name} подключился к Discord!')
@ client.event
async def on_member_join (член):
ожидание member.create_dm ()
жду члена.dm_channel.send (
f'Привет, {member.name}, добро пожаловать на мой сервер Discord! '
)
@ client.event
async def on_message (сообщение):
если message.author == client.user:
возвращение
brooklyn_99_quotes = [
'Я - человеческая форма 💯 эмодзи.',
'Bingpot!',
(
'Прохладный. Круто круто круто круто круто круто '
«без сомнения, без сомнения, без сомнения, без сомнения».
),
]
если message.content == '99! ':
response = random.choice (brooklyn_99_quotes)
жду сообщения.channel.send (ответ)
client.run (ТОКЕН)
Не забудьте указать import random
в верхней части модуля, поскольку обработчик on_message ()
использует random.choice ()
.
Запускаем программу:
$ python bot.py
RealPythonTutorialBot подключился к Discord!
Наконец, зайдите в Discord, чтобы проверить это:
Отлично! Теперь, когда вы увидели несколько различных способов обработки некоторых распространенных событий Discord, вы узнаете, как бороться с ошибками, которые могут возникать обработчиками событий.
Обработка исключений
Как вы уже видели, discord.py
— это система, управляемая событиями. Этот акцент на событиях распространяется даже на исключения. Когда один обработчик событий вызывает Exception
, Discord вызывает on_error ()
.
По умолчанию on_error ()
записывает сообщение об ошибке и трассировку стека на stderr
. Чтобы проверить это, добавьте специальный обработчик сообщений в on_message ()
:
# бот.ру
импорт ОС
случайный импорт
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
client = discord.Client ()
@ client.event
async def on_ready ():
print (f '{client.user.name} подключился к Discord!')
@ client.event
async def on_member_join (член):
ожидание member.create_dm ()
ждать member.dm_channel.send (
f'Привет, {member.name}, добро пожаловать на мой сервер Discord! '
)
@ client.event
async def on_message (сообщение):
если message.author == client.Пользователь:
возвращение
brooklyn_99_quotes = [
'Я - человеческая форма 💯 эмодзи.',
'Bingpot!',
(
'Прохладный. Круто круто круто круто круто круто '
«без сомнения, без сомнения, без сомнения, без сомнения».
),
]
если message.content == '99! ':
response = random.choice (brooklyn_99_quotes)
ждите message.channel.send (ответ)
elif message.content == 'поднять исключение':
вызвать Discord.DiscordException
client.run (ТОКЕН)
Новый обработчик сообщений raise-exception
позволяет вам вызывать DiscordException
по команде.
Запустите программу и введите raise-exception
в канал Discord:
Теперь вы должны увидеть Exception
, которое было вызвано вашим обработчиком on_message ()
в консоли:
$ python bot.py
RealPythonTutorialBot подключился к Discord!
Игнорирование исключения в on_message
Отслеживание (последний вызов последний):
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/client.py", строка 255, в _run_event
ждать coro (* args, ** kwargs)
Файл "бот.py ", строка 42, в on_message
вызвать Discord.DiscordException
discord.errors.DiscordException
Исключение было перехвачено обработчиком ошибок по умолчанию, поэтому выходные данные содержат сообщение Игнорирование исключения в on_message
. Давайте исправим это, обработав конкретную ошибку. Для этого нужно перехватить DiscordException
и вместо этого записать его в файл.
Обработчик события on_error ()
принимает событие
в качестве первого аргумента.В этом случае мы ожидаем, что событие
будет 'on_message'
. Он также принимает * args
и ** kwargs
как гибкие, позиционные и ключевые аргументы, передаваемые исходному обработчику событий.
Итак, поскольку on_message ()
принимает единственный аргумент, сообщение
, мы ожидаем, что args [0]
будет сообщением
, которое пользователь отправил в канал Discord:
@ client.event
async def on_error (событие, * аргументы, ** kwargs):
с открытым ('err.log ',' a ') как f:
если event == 'on_message':
f.write (f'Необработанное сообщение: {args [0]} \ n ')
еще:
поднимать
Если исключение Exception
возникло в обработчике события on_message ()
, вы .write ()
форматируете строку в файл err.log
. Если другое событие вызывает исключение Exception
, тогда мы просто хотим, чтобы наш обработчик повторно вызвал исключение, чтобы вызвать поведение по умолчанию.
Запуск бота.py
и отправьте сообщение об исключении ошибки
еще раз, чтобы просмотреть вывод в err.log
:
$ cat err.log
Необработанное сообщение: 4084 pinned = False author = >
Вместо только трассировки стека у вас есть более информативная ошибка, показывающая сообщение
, которое заставило on_message ()
вызвать исключение DiscordException
, сохраненное в файл для более длительного хранения.
Технические детали: Если вы хотите принять во внимание фактическое исключение Exception
при записи сообщений об ошибках в err.log
, тогда вы можете использовать функции из sys
, такие как exc_info ()
.
Теперь, когда у вас есть некоторый опыт обработки различных событий и взаимодействия с API Discord, вы узнаете о подклассе Client
под названием Bot
, который реализует некоторые удобные функции, специфичные для ботов.
Подключение бота
A Bot
— это подкласс Client
, который добавляет немного дополнительных функций, которые могут быть полезны при создании пользователей-ботов. Например, Bot
может обрабатывать события и команды, вызывать проверки и многое другое.
Прежде чем перейти к особенностям, характерным для Bot
, преобразуйте bot.py
для использования Bot
вместо клиента
:
# bot.py
импорт ОС
случайный импорт
из dotenv import load_dotenv
# 1
от разлада.команды импорта ext
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
# 2
bot = commands.Bot (command_prefix = '!')
@ bot.event
async def on_ready ():
print (f '{bot.user.name} подключился к Discord!')
bot.run (ТОКЕН)
Как видите, Bot
может обрабатывать события так же, как Client
. Однако обратите внимание на различия между Client
и Bot
:
-
Бот
импортирован из файлаdiscord.ext.модуль команд
. - Инициализатор
Bot
требуетcommand_prefix
, о котором вы узнаете больше в следующем разделе.
Библиотека расширений, ext
, предлагает несколько интересных компонентов, которые помогут вам создать Discord Bot
. Одним из таких компонентов является команда
.
Использование бота
КомандыВ общих чертах, команда — это приказ, который пользователь дает боту, чтобы он что-то сделал.Команды отличаются от событий, потому что они:
- Произвольно определено
- Вызывается пользователем напрямую
- Гибкие, с точки зрения интерфейса
С технической точки зрения, Command
— это объект, который является оболочкой для функции, вызываемой текстовой командой в Discord. Текстовая команда должна начинаться с command_prefix
, определенного объектом Bot
.
Давайте посмотрим на старое событие, чтобы лучше понять, как оно выглядит:
# бот.ру
импорт ОС
случайный импорт
вносить разлад
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
client = discord.Client ()
@ client.event
async def on_message (сообщение):
если message.author == client.user:
возвращение
brooklyn_99_quotes = [
'Я - человеческая форма 💯 эмодзи.',
'Bingpot!',
(
'Прохладный. Круто круто круто круто круто круто '
«без сомнения, без сомнения, без сомнения, без сомнения».
),
]
если message.content == '99! ':
ответ = случайный.выбор (brooklyn_99_quotes)
ждите message.channel.send (ответ)
client.run (ТОКЕН)
Здесь вы создали обработчик события on_message ()
, который получает строку сообщения
и сравнивает ее с предопределенной опцией: '99! '
.
Используя команду
, вы можете преобразовать этот пример в более конкретный:
# bot.py
импорт ОС
случайный импорт
из команд импорта discord.ext
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
bot = commands.Bot (command_prefix = '!')
@ bot.command (имя = '99 ')
async def nine_nine (ctx):
brooklyn_99_quotes = [
'Я - человеческая форма 💯 эмодзи.',
'Bingpot!',
(
'Прохладный. Круто круто круто круто круто круто '
«без сомнения, без сомнения, без сомнения, без сомнения».
),
]
response = random.choice (brooklyn_99_quotes)
ждать ctx.send (ответ)
bot.run (ТОКЕН)
Есть несколько важных характеристик, которые следует понимать при использовании команды
:
Вместо использования бота
.событие
, как и раньше, вы используетеbot.command ()
, передавая команду вызова (имя
) в качестве аргумента.Функция теперь будет вызываться только при упоминании в чате
! 99
. Это отличается от событияon_message ()
, которое запускалось каждый раз, когда пользователь отправлял сообщение, независимо от содержимого.Команда должна начинаться с восклицательного знака (
!
), потому что этоcommand_prefix
, который вы определили в инициализаторе для вашегоBot
.Любая функция
Command
(технически называемая обратным вызовомctx
, который является контекстом
A Контекст
содержит такие данные, как канал и гильдия, из которых пользователь вызвал команду
.
Запускаем программу:
Теперь, когда ваш бот запущен, вы можете перейти в Discord, чтобы опробовать свою новую команду:
С точки зрения пользователя, практическое отличие состоит в том, что префикс помогает формализовать команду, а не просто реагировать на конкретное событие on_message ()
.
Это дает и другие большие преимущества. Например, вы можете вызвать команду ! Help
, чтобы увидеть все команды, которые обрабатывает ваш Bot
:
Если вы хотите добавить описание к своей команде, чтобы сообщение help
было более информативным, просто передайте описание help
в декоратор .command ()
:
# bot.py
импорт ОС
случайный импорт
из команд импорта discord.ext
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
bot = commands.Bot (command_prefix = '!')
@ bot.command (name = '99 ', help =' Отвечает случайной цитатой из Бруклина 99 ')
async def nine_nine (ctx):
brooklyn_99_quotes = [
'Я - человеческая форма 💯 эмодзи.',
'Bingpot!',
(
'Прохладный. Круто круто круто круто круто круто '
«без сомнения, без сомнения, без сомнения, без сомнения».
),
]
response = random.choice (brooklyn_99_quotes)
ждать ctx.send (ответ)
bot.run (ТОКЕН)
Теперь, когда пользователь вызывает команду ! Help
, ваш бот представит описание вашей команды:
Имейте в виду, что все эти функции существуют только для подкласса Bot
, а не суперкласса Client
.
Команда
имеет еще одну полезную функцию: возможность использовать преобразователь Converter
для изменения типов своих аргументов.
Автоматическое преобразование параметров
Еще одним преимуществом использования команд является возможность преобразования параметров в .
Иногда требуется, чтобы параметр был определенного типа, но аргументы функции Command
по умолчанию являются строками. Преобразователь
позволяет преобразовать эти параметры в ожидаемый тип.
Например, если вы хотите создать команду
для пользователя-бота, чтобы имитировать бросание кубиков (зная, что вы уже узнали), вы можете определить ее так:
@ bot.command (name = 'roll_dice', help = 'Имитирует бросание игральных костей.')
async def roll (ctx, number_of_dice, number_of_sides):
игральные кости = [
str (random.choice (диапазон (1, число_сторон + 1)))
для _ в диапазоне (число_кости)
]
ожидание ctx.send (',' .join (игральные кости))
Вы определили roll
для получения двух параметров:
- Количество бросаемых кубиков
- Количество граней на матрицу
Затем вы украсили его .command ()
, чтобы вы могли вызвать его с помощью команды ! roll_dice
. Наконец, вы .send ()
результаты в сообщении обратно на канал
.
Хотя это выглядит правильным, это не так. К сожалению, если вы запустите bot.py
и вызовете команду ! Roll_dice
в своем канале Discord, вы увидите следующую ошибку:
$ python bot.py
Игнорирование исключения в команде roll_dice:
Отслеживание (последний вызов последний):
Файл "/ Пользователи / alex.ronquillo / .pyenv / versions / discord-venv / lib / python3.7 / site-packages / discord / ext / commands / core.py ", строка 63, в упаковке
ret = ждать coro (* аргументы, ** kwargs)
Файл "bot.py", строка 40, в рулоне
для _ в диапазоне (число_кости)
TypeError: объект 'str' нельзя интерпретировать как целое число
Вышеупомянутое исключение явилось прямой причиной следующего исключения:
Отслеживание (последний вызов последний):
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/ext/commands/bot.py ", строка 860, в invoke
ждать ctx.command.invoke (ctx)
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/ext/commands/core.py", строка 698, в вызове
ожидание введено (* ctx.args, ** ctx.kwargs)
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/ext/commands/core.py", строка 72, в оболочке
поднять CommandInvokeError (exc) из exc
discord.ext.commands.errors.CommandInvokeError: команда вызвала исключение: TypeError: объект 'str' не может быть интерпретирован как целое число
Другими словами, range ()
не может принимать str
в качестве аргумента.Вместо этого это должно быть int
. Хотя вы можете преобразовать каждое значение в int
, есть способ лучше: вы можете использовать преобразователь Converter
.
В discord.py
преобразователь
определен с использованием аннотаций функций Python 3:
@ bot.command (name = 'roll_dice', help = 'Имитирует бросание игральных костей.')
async def roll (ctx, number_of_dice: int, number_of_sides: int):
игральные кости = [
str (random.choice (диапазон (1, число_сторон + 1)))
для _ в диапазоне (число_кости)
]
ждите ctx.send (',' .join (игра в кости))
Вы добавили аннотации : int
к двум параметрам, которые должны иметь тип int
. Повторите команду еще раз:
С этим небольшим изменением ваша команда работает! Разница в том, что теперь вы конвертируете аргументы команды в int
, что делает их совместимыми с логикой вашей функции.
Примечание: A Converter
может быть любым вызываемым, а не только типом данных. Аргумент будет передан вызываемому объекту, а возвращаемое значение будет передано команде
.
Далее вы узнаете об объекте Check
и о том, как он может улучшить ваши команды.
Проверка командных предикатов
A Check
— это предикат, который оценивается перед выполнением команды
, чтобы гарантировать, что контекст
, окружающий вызов команды
, действителен.
В предыдущем примере вы сделали что-то подобное, чтобы убедиться, что пользователь, отправивший сообщение, которое обрабатывает бот, сам не является пользователем-ботом:
, если сообщение.автор == client.user:
возвращение
Команды Расширение
обеспечивает более чистый и удобный механизм для выполнения такого рода проверки, а именно использование объектов Проверить
.
Чтобы продемонстрировать, как это работает, предположим, что вы хотите поддерживать команду ! Create-channel
, которая создает новый канал. Однако вы хотите разрешить администраторам только создавать новые каналы с помощью этой команды.
Во-первых, вам нужно создать новую роль участника в админке.Войдите в гильдию Discord и выберите {Имя сервера} → Настройки сервера меню :
Затем выберите Роли в левом списке навигации:
Наконец, выберите значок + рядом с РОЛИ , введите имя admin
и выберите Сохранить изменения :
Итак, вы создали роль администратора
, которую можно назначить определенным пользователям. Затем вы обновите bot.py
до . Проверьте
роль пользователя, прежде чем разрешить ему инициировать команду:
# бот.ру
импорт ОС
вносить разлад
из команд импорта discord.ext
из dotenv import load_dotenv
load_dotenv ()
ТОКЕН = os.getenv ('DISCORD_TOKEN')
bot = commands.Bot (command_prefix = '!')
@ bot.command (имя = 'создать-канал')
@ commands.has_role ('админ')
async def create_channel (ctx, channel_name = 'real-python'):
guild = ctx.guild
existing_channel = discord.utils.get (guild.channels, name = имя_канала)
если не существует_канал:
print (f'Создание нового канала: {channel_name} ')
жду гильдию.create_text_channel (имя_канала)
bot.run (ТОКЕН)
В bot.py
у вас есть новая функция Command
, называемая create_channel ()
, которая принимает необязательное имя channel_name
и создает этот канал. create_channel ()
также украшен проверкой Check
с именем has_role ()
.
Вы также используете discord.utils.get ()
, чтобы не создавать канал с тем же именем, что и у существующего канала.
Если вы запустите эту программу как есть и введите ! Create-channel
в свой канал Discord, то вы увидите следующее сообщение об ошибке:
$ python bot.py
Игнорирование исключения в команде create-channel:
Отслеживание (последний вызов последний):
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/ext/commands/bot.py", строка 860, в вызове
ждать ctx.command.invoke (ctx)
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7 / site-packages / discord / ext / commands / core.py ", строка 691, в invoke
ждать self.prepare (ctx)
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/ext/commands/core.py", строка 648, готовится
ждать self._verify_checks (ctx)
Файл "/Users/alex.ronquillo/.pyenv/versions/discord-venv/lib/python3.7/site-packages/discord/ext/commands/core.py", строка 598, в _verify_checks
Raise CheckFailure ('Функция проверки для команды {0.qualified_name} завершилась неудачно.'. format (self))
разлад.ext.commands.errors.CheckFailure: функция проверки для команды create-channel не удалась.
Этот CheckFailure
говорит, что has_role ('admin')
не удалось. К сожалению, эта ошибка выводится только на stdout
. Лучше бы сообщить об этом пользователю в канале. Для этого добавьте следующее событие:
@ bot.event
async def on_command_error (ctx, ошибка):
если isinstance (ошибка, commands.errors.CheckFailure):
await ctx.send ('У вас нет правильной роли для этой команды.')
Это событие обрабатывает событие ошибки из команды и отправляет информативное сообщение об ошибке обратно в исходный контекст
вызванной команды
.
Попробуйте все еще раз, и вы должны увидеть ошибку в канале Discord:
Отлично! Теперь, чтобы решить эту проблему, вам нужно назначить себе роль администратора , :
. С ролью admin ваш пользователь пройдет проверку
и сможет создавать каналы с помощью команды.
Примечание: Имейте в виду, что для назначения роли ваш пользователь должен иметь правильные разрешения. Самый простой способ убедиться в этом — войти в систему под пользователем, с которым вы создали гильдию.
Когда вы снова наберете ! Create-channel
, вы успешно создадите канал real-python :
Также обратите внимание, что вы можете передать необязательный аргумент channel_name
, чтобы присвоить каналу любое имя!
В этом последнем примере вы объединили команду
, событие, Check
и даже утилиту get ()
, чтобы создать полезного бота Discord!
Заключение
Поздравляем! Теперь вы узнали, как создать бота Discord на Python.Вы можете создавать ботов для взаимодействия с пользователями в гильдиях, которые вы создаете, или даже ботов, которых другие пользователи могут приглашать для взаимодействия со своими сообществами. Ваши боты смогут отвечать на сообщения и команды, а также на множество других событий.
В этом уроке вы узнали основы создания собственного бота Discord. Теперь вы знаете:
- Что такое Discord
- Почему
discord.py
так ценен - Как сделать бота Discord на портале разработчиков
- Как создать соединение с Discord в Python
- Как обрабатывать события
- Как создать соединение
Bot
- Как использовать команды, проверки и преобразователи ботов
Чтобы узнать больше о мощном Discord .py
и выведите своих ботов на новый уровень, ознакомившись с их обширной документацией. Кроме того, теперь, когда вы знакомы с API Discord в целом, у вас есть лучшая основа для создания других типов приложений Discord.
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Создание бота Discord на Python
Начало работы — Создайте своего первого диалогового бота — Teams
- 6 минут на чтение
В этой статье
В этом руководстве вы узнаете, как создавать, запускать и развертывать бот-приложение Teams.Бот действует как посредник между пользователем Teams и веб-службой. Пользователи могут общаться с ботом, чтобы быстро получать информацию, запускать рабочие процессы или делать что-нибудь еще, что может делать ваш веб-сервис.
Прежде чем начать
Убедитесь, что ваша среда разработки настроена, установив необходимые компоненты.
Создайте свой проект
Используйте набор инструментов Teams для создания своего первого проекта:
Откройте код Visual Studio.
Щелкните значок Teams на боковой панели, чтобы открыть набор инструментов Teams.
Выберите Создать новый проект .
Выберите Создайте новое приложение Teams .
В разделе Выберите возможности выберите Bot , снимите выделение Tab и выберите OK .
В разделе Регистрация бота выберите Создать новую регистрацию бота .
В разделе Programming Language выберите JavaScript .
Выберите папку рабочего пространства. В папке рабочей области будет создана папка для создаваемого вами проекта.
Введите подходящее имя для своего приложения, например
helloworld
. Название приложения должно содержать только буквенно-цифровые символы. Нажмите Введите , чтобы продолжить.
Ваше приложение Teams будет создано в течение нескольких секунд.
Используйте интерфейс командной строки teamfx
для создания своего первого проекта. Начните с папки, в которой вы хотите создать папку проекта.
teamfx новые
Интерфейс командной строки задает несколько вопросов для создания проекта. Каждый вопрос расскажет вам, как на него ответить (например, использовать клавиши со стрелками для выбора варианта). Когда вы ответите на вопрос, подтвердите свой выбор, нажав Введите .
- Выберите Создать новое приложение Teams .
- Выберите Bot и отмените выбор Tab .
- Выберите Создайте новую регистрацию бота .
- Выберите JavaScript в качестве языка программирования.
- Нажмите Введите , чтобы выбрать папку рабочего пространства по умолчанию.
- Введите подходящее имя для своего приложения, например
helloworld
. Название приложения должно состоять только из буквенно-цифровых символов.
Ваш проект будет создан после того, как будут даны ответы на все вопросы.
Ознакомьтесь с исходным кодом
Если вы хотите пока пропустить этот раздел, вы можете запустить приложение локально.
Расширение обмена сообщениями использует Bot Framework, чтобы позволить пользователю взаимодействовать с вашим сервисом через диалог. После строительных лесов ваш проект будет выглядеть так:
Код бота хранится в каталоге bot
. bot / teamBot.js
является основной точкой входа для бота, а диалоги хранятся в каталоге dialogs
.
Подсказка
Ознакомьтесь с ботами за пределами Teams, прежде чем интегрировать своего первого бота в Teams. Вы можете найти дополнительную информацию о ботах, просмотрев руководства по службе Azure Bot.
Запустите приложение локально
Teams Toolkit позволяет размещать ваше приложение локально. Для этого:
- Приложение Azure Active Directory зарегистрировано в клиенте M365.
- Манифест приложения отправляется в Центр разработчиков для Teams.
- API запускается локально с помощью основных инструментов Функций Azure для поддержки вашего приложения. Установлен
- ngrok, который используется для создания туннеля между Teams и кодом вашего бота.
Чтобы собрать и запустить приложение локально:
В Visual Studio Code нажмите клавишу F5 , чтобы запустить приложение в режиме отладки.
При первом запуске приложения загружаются все зависимости и создается приложение. Окно браузера автоматически открывается после завершения сборки.Это может занять 3-5 минут.
Ваш веб-браузер запустит приложение. Если будет предложено открыть рабочий стол Teams, выберите Отменить , чтобы оставаться в браузере. Вам также может быть предложено переключиться на рабочий стол Teams в другое время; в этом случае выберите веб-приложение Teams.
Вам может быть предложено войти в систему. Если это так, войдите в свою учетную запись M365.
Когда будет предложено установить приложение в Teams, выберите Добавить .
После загрузки приложения вы попадете прямо в сеанс чата с ботом. Вы можете ввести
intro
, чтобы показать вводную карточку, иshow
, чтобы показать свои данные из Microsoft Graph. (Это потребует утверждения дополнительных разрешений).Отладка работает нормально — попробуйте сами! Откройте файл
bot / dialogs / rootDialog.js
и найдите методtriggerCommand (...)
. Установите точку останова для случая по умолчанию.Затем введите текст.
При нажатии клавиши F5 набор инструментов Teams:
- Регистрирует ваше приложение в Azure Active Directory.
- Регистрирует приложение для «боковой загрузки» в Microsoft Teams.
- Запускает серверную часть вашего приложения локально с помощью инструментов ядра функций Azure.
- Запускает туннель ngrok, чтобы команды могли взаимодействовать с вашим приложением.
- Запускает Microsoft Teams с помощью команды, указывающей Teams на загрузку неопубликованного приложения.
Для успешного запуска приложения в Teams у вас должна быть учетная запись разработки Microsoft 365, которая позволяет загружать неопубликованные приложения. Для получения дополнительной информации об открытии счета см. Предварительные требования.
Подсказка
Проверьте наличие проблем перед загрузкой неопубликованного приложения с помощью инструмента проверки приложения, который включен в набор инструментов.Исправьте ошибки, чтобы успешно загрузить приложение.
Разверните приложение в Azure
Развертывание состоит из двух этапов. Сначала создаются необходимые облачные ресурсы (также известные как подготовка), затем код, составляющий ваше приложение, копируется в созданные облачные ресурсы.
Откройте код Visual Studio.
Выберите Teams Toolkit на боковой панели, щелкнув значок Teams.
Выберите Provision in the Cloud .
При необходимости выберите подписку для использования ресурсов Azure.
Примечание
Для размещения вашего приложения всегда используются некоторые ресурсы Azure.
Диалоговое окно предупреждает о том, что при запуске ресурсов в Azure могут возникнуть расходы. Нажмите Положение .
В процессе подготовки создаются ресурсы в облаке Azure. На это нужно время. Вы можете следить за прогрессом, наблюдая за диалогами в правом нижнем углу.Через несколько минут вы увидите следующее уведомление:
После завершения подготовки выберите Развернуть в облаке . Как и в случае с подготовкой, этот процесс занимает некоторое время. Вы можете следить за процессом, наблюдая за диалогами в правом нижнем углу. Через несколько минут вы увидите уведомление о завершении.
В окне вашего терминала:
Запустите
teamfx provision
.резерв teamfx
Вам может быть предложено войти в свою подписку Azure.При необходимости вам будет предложено выбрать подписку Azure для использования для ресурсов Azure.
Примечание
Для размещения вашего приложения всегда используются некоторые ресурсы Azure.
Запустите
teamfx deploy
.Развертывание командfx
Примечание
В чем разница между подготовкой и развертыванием?
На этапе Provision создаются ресурсы в Azure и M365 для вашего приложения, но без кода (HTML, CSS, JavaScript и т. Д.)) копируется в ресурсы. На этапе Deploy код вашего приложения копируется в ресурсы, созданные на этапе подготовки. Обычно развертывание выполняется несколько раз без предоставления новых ресурсов. Поскольку этап подготовки может занять некоторое время, он отделен от этапа развертывания.
После завершения этапов подготовки и развертывания:
- В Visual Studio Code откройте панель отладки ( Ctrl + Shift + D / ⌘⇧-D или View> Run )
- Выберите Launch Remote (Edge) из раскрывающегося списка конфигурации запуска.
- Нажмите кнопку Play, чтобы запустить приложение — теперь оно работает удаленно из Azure!
Перед развертыванием приложение выполнялось локально:
Серверная часть работает с использованием Базовых инструментов функций Azure .
Конечная точка HTTP приложения, в которую Microsoft Teams загружает приложение, запускается локально.