Как сделать своего бота: Чат-бот в Telegram — как создать чат-бота в Телеграме

Содержание

Как создать бота в Telegram

Что нужно знать, прежде чем создавать бота в Telegram

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

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

Но так или иначе сначала бота нужно создать. Делается это следующим образом.

Как создать бота в Telegram

Чтобы сделать своего бота, понадобится другой бот — BotFather. Это официальный инструмент для создания ботов и управления ими. Найти BotFather можно через поиск. Обратите внимание на синюю галочку рядом с именем: именно она укажет на правильный чат.

Запустите диалог с ним и нажмите «Начать».

Кликните по кнопке меню и выберите /newbot.

BotFather попросит назвать вашего бота. Введите желаемое имя и нажмите «Отправить».

Следующим шагом нужно придумать боту никнейм. Он должен быть уникальным и заканчиваться на bot. Если эти условия не выполняются, BotFather просит сочинить другой.

Далее BotFather предоставит ссылку на созданного бота и токен для обращения к нему. Ссылка нужна для поиска бота, ею можно делиться. А вот токен — длинный набор символов — вещь секретная. Это своеобразный ключ, с помощью которого осуществляется управление программой. Сохраните его в надёжном месте и никому не показывайте.

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

Как настроить бота в Telegram

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

Также при желании можно добавить описание (/setdescription), прикрепить аватар (/setuserpic) или сменить имя (/setname). Все эти действия осуществляются через меню в BotFather. Если у вас несколько ботов, то сначала придётся выбрать нужный из списка.

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

Подключение бота

Сначала нужно открыть чат с Manybot, перейдя по ссылке, и нажать «Начать».

Затем выбрать удобный для вас язык.

Кликните «Добавить нового бота».

А вот теперь понадобится токен созданного ранее бота, который выдал BotFather. Нажмите «Я скопировал токен» и отправьте его Manybot.

Добавьте описание бота, которое будут видеть пользователи, или пропустите этот шаг.

Создание команд

Далее вернитесь к своему боту, которого создали с помощью BotFather, и нажмите «Начать».

Выберите «Пользовательские команды».

Затем — «Создать команду».

Придумайте название команды латинскими буквами, начиная со слеша.

Впишите текст, добавьте ссылки или фото, которые увидит пользователь после вызова команды. Сообщений может быть несколько. Нажмите «Отправить», а затем «Сохранить».

Таким же образом через меню «Создать команду» добавьте остальные команды, которые вам нужны. В нашем примере это подкасты, вакансии и обратная связь.

Добавление кнопок в меню

Чтобы пользователи могли взаимодействовать с ботом через графический интерфейс, а не вводить команды вручную, необходимо добавить кнопки для каждой из них. Для этого нажмите «Настроить гл. меню».

Кликните «Добавить пункт меню».

Выберите нужную команду.

Придумайте название для кнопки и нажмите «Отправить».

По такому же принципу добавьте кнопки для других команд.

Проверка работы бота

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

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

Читайте также 📱📳📲

Как создать телеграм-бота | База знаний Selectel

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

  1. Запрограммировать логику работы Телеграм-бота.
  2. Зарегистрировать нового бота в Telegram.
  3. Связать бота и его логику воедино.

Запрограммировать логику работы Телеграм-бота

Чтобы упростить задачу, мы написали пример такого бота. Его исходный код доступен по ссылке github.com/selectel/cloud-telegram-bot. Он понимает команды:

  • /start с приветственным сообщением;
  • /sticker
    с ответом в виде стикера;
  • /getwebhook чтобы вы могли получить информацию о настройках вашего бота;
  • /setwebhook для настройки вашего бота, но об этом позже.

Пройдите следующие шаги с нашим примером бота, чтобы освоиться:

  1. Скачайте исходный код как архив («Clone or download» → «Download ZIP») и распакуйте его.
  2. Внутри должно быть:
    • «setup.py» с минимальным кодом, чтобы Python-окружение приняло содержимое папки за модуль для установки;
    • «requirements.txt» с описанием зависимостей;
    • «bot» — папка с исходным кодом нашего бота.
  3. Выделите все эти файлы и папки, а затем создайте из них новый ZIP-архив, тогда исходный код внутри архива не будет иметь лишних папок (как в случае с архивом, скачанным с github).
  4. Перейдите в панели управления в раздел Облачная ПлатформаФункции и нажмите кнопку Создать функцию
    .
  5. Выберите среду выполнения и задайте имя, например Bot.
  6. В поле Загрузить выберите Архив.
  7. Загрузите ZIP-файл в качестве Кода функции.
  8. Укажите Путь к файлу как /bot/tele_bot.py.
  9. Укажите Вызываемую функцию как main.
  10. Получите токен по инструкции и в поле Переменные окружения добавьте его ключ и значение.
  11. Нажмите кнопку Сохранить и развернуть.
  12. Чтобы получить ссылку для вызова функции, перейдите на вкладку Триггеры и нажмите на тумблер HTTP-запрос.

Теперь у нас есть API, реализующее логику ответов бота. Следующим этапом мы зарегистрируем его в Telegram.

Зарегистрировать нового бота в Telegram

Чтобы Telegram знал о существовании нашего бота, его нужно зарегистрировать. Для этого существует только один способ:

  1. Найдите бота @BotFather в Телеграм. Это официальный бот, созданный специально для управления ботами.
  2. Отправьте ему команду:

    /newbot
  3. @BotFather спросит вас, как вы назовёте вашего бота. Следующим сообщением отправьте его название, заканчивающееся на «_bot».

  4. Запишите полученный токен от @BotFather — это ключ для работы с Telegram API.

Теперь у нас API, регистрация бота в Telegram и его токен. Осталось связать это вместе.

Как связать бота и его логику воедино?

На этом этапе надо сделать так, чтобы бот знал токен пользователя, а Telegram знал, где его API:

  1. Найдите переменную окружения «TOKEN» в настройках функции. Мы оставили её пустой на первом этапе.
  2. Укажите в этой переменной токен вашего бота, который получили от @BotFather.
  3. Нажмите Сохранить и развернуть.

Далее нужно направить сообщения, которые пользователи отправляют в Telegram, нашему боту — в то API, которое для него создали.

Способ 1. Через бота @SelectelServerless_bot

  1. Найдите бота @SelectelServerless_bot в Телеграме.
  2. Введите команду:

    /setwebhook <Токен от вашего бота> <URL от облачной функции>
  3. Бот ответит тем, что получит из Telegram API. Если всё хорошо, это будет «true».

  4. Чтобы удостовериться в том, что всё корректно, отправьте команду:

    /getwebhook <Токен от вашего бота>
  5. В ответ должна прийти информация о webhook, в том числе указанный вами URL.

Способ 2. Из заготовленной формы

Откройте форму (или скопируйте её к себе в Облачное хранилище). Вставьте токен от вашего бота в первое поле, URL облачной функции во второе и нажмите на кнопку «Set Webhook». Произойдёт обращение к api.telegram.org, и вы увидите результат.

Примечание: может понадобиться наличие VPN.

Итог

Готов для работы бот, доступный в Телеграме, отвечающий на команды и способный автоматически масштабироваться под нагрузкой и без сервера.

Как создать своего бота для Telegram за 10 минут

Без единой строчки кода!

Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов:

А если вы не подписались на бота от iPhones.ru, то пришла пора сделать это! @iPhonesRu_Bot

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

Есть два пути создания ботов. Первый — написать приложение с помощью Telegram API, а второй — воспользоваться сервисом для создания ботов. Один из таких, manybot.io, мы будем использовать в статье.

Устанавливаем Telegram

Инструкцию из статьи можно выполнить в версии Telegram для любой платформы:

Сама я буду использовать версию для OS X, так как без полноценной клавиатуры создавать бота не совсем удобно.

Создаем бота

1. Набираем в поиске Manybot, кликаем на значок бота и нажимаем на кнопку Start:

2. Нажимаем на кнопку Добавить нового бота:

4. Переходим в @BotFather, нажимаем кнопку Start и вводим команду /newbot:

6. Вводим имя бота, которое будет отображаться при поиске и техническое имя бота, копируем полученный API-токен:

7. Возвращаемся в @Manybot и вставляем в него API-токен из буфера обмена:

8. Указываем описание бота:

9. Бот готов:

10. Находим свой бот через поиск и начинаем пользоваться:

Создаем свою команду

В хорошем боте должны быть команды. Чтобы пользователь вводил запрос, а в ответ ему приходило что-то интересное/полезное. Вот инструкция, как создать простейшую команду:

1. Набираем /commands:

2. Набираем имя новой команды и текст, который она будет выдавать в ответ (при желании к тексту можно прикрепить файлы):

3. Нажимаем кнопку Сохранить и дожидаемся завершения создания команды:

Для того, чтобы отредактировать команду /hello надо набрать /commands, /hello:

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

Добавляем пункт в меню

При желании, для команды можно сделать кнопку в меню, которая будет ее запускать.

1. Набираем /commands:

2. Нажимаем на кнопку Настроить главное меню, а затем на кнопку Добавить пункт меню:

3. Выбираем из списка команду, которую хотим добавить в меню и указываем название для кнопки:

Включаем автопостинг из соцсетей

В ботах можно настроить трансляцию новостей из Twitter, Youtube, VK или RSS.

1. Набираем команду /autoposting:

2. Нажимаем кнопку с нужной соцсетью и указываем ссылку на страницу:

Создаем отложенный пост

В ботах Telegram можно отправлять сообщения, которые будут приходить всем его подписчикам. Вот инструкция, как создать такое сообщение и запланировать его отправку на определенное время:

1. Набираем команду /newpost:

2. Вводим текст поста и нажимаем на кнопку Отложить пост, указываем текущее время:

3. Указываем время поста и сохраняем пост:

Собираем данные

Еще с помощью ботов можно проводить опросы среди подписчиков:

1. Набираем /commands, выбираем пункт меню Создать команду и вводим имя для новой команды:

2. Нажимаем на кнопку Добавить вопрос, выбираем тип ответа и вводим текст вопроса:

3. Нажимаем на кнопку Сохранить и получаем уведомление об успешном создании команды:

4. Ответы на вопрос можно посмотреть в Главное меню-> Ответы на формы -> название команды:

Вот и все, что нужно знать, чтобы создать простейшего бота. Больше информации о функциях, которые может добалять manybot.io можно узнать, если набрать в своем боте команды /help.

Если нужно что-то посложнее

Возможности ботов Telegram гораздо шире, чем те которые есть у ботов, созданных на платформе code.telegram.org можно почитать подробнее о Telegram API и создании приложений на его основе.

Кстати, для расширения кругозора рекомендую статью 10 фактов о Telegram, которые ты не знаешь.

🤓 Хочешь больше? Подпишись на наш Telegram. В закладки iPhones.ru Без единой строчки кода! Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов: Игра Что? Где? Когда? Поиск паролей от Wi-Fi Проверка…
  • До ←

    PhotoFast iOS Card Reader. Увеличь память iPhone без регистрации и смс

  • После →

    Новый дрон DJI Matrice 600 перевернет мир кино

Как создавать ботов в Telegram / Хабр

24 июня разработчики Telegram

открыли

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


Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к

Telegram Bot API

. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

1. Регистрация

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

@BotFather

.

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

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

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot<TOKEN>/getMe, говорят, не всегда работает с первого раза.

2. Программирование

Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN
MyURL = "https://example.com/hook"

api = requests.Session()
application = tornado.web.Application([
    (r"/", Handler),
])

if __name__ == '__main__':
    signal.signal(signal.SIGTERM, signal_term_handler)
    try:
        set_hook = api.get(URL + "setWebhook?url=%s" % MyURL)
        if set_hook.status_code != 200:
            logging.error("Can't set hook: %s. Quit." % set_hook.text)
            exit(1)
        application.listen(8888)
        tornado.ioloop.IOLoop.current().start()
    except KeyboardInterrupt:
        signal_term_handler(signal.SIGTERM, None)

Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

class Handler(tornado.web.RequestHandler):
        def post(self):
            try:
                logging.debug("Got request: %s" % self.request.body)
                update = tornado.escape.json_decode(self.request.body)
                message = update['message']
                text = message.get('text')
                if text:
                    logging.info("MESSAGE\t%s\t%s" % (message['chat']['id'], text))

                    if text[0] == '/':
                        command, *arguments = text.split(" ", 1)
                        response = CMD.get(command, not_found)(arguments, message)
                        logging.info("REPLY\t%s\t%s" % (message['chat']['id'], response))
                        send_reply(response)
            except Exception as e:
                logging.warning(str(e))

Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект

Message

.

Собственно, её код довольно прост:

def send_reply(response):
    if 'text' in response:
        api.post(URL + "sendMessage", data=response)

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

def help_message(arguments, message):
    response = {'chat_id': message['chat']['id']}
    result = ["Hey, %s!" % message["from"].get("first_name"),
              "\rI can accept only these commands:"]
    for command in CMD:
        result.append(command)
    response['text'] = "\n\t".join(result)
    return response

Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

def base64_decode(arguments, message):
    response = {'chat_id': message['chat']['id']}
    try:
        response['text'] = b64decode(" ".join(arguments).encode("utf8"))
    except:
        response['text'] = "Can't decode it"
    finally:
        return response

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

command1 — Description
command2 — Another description
I:
whoisyourdaddy — Information about author
base64 — Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/<command>) (https://core.telegram.org/bots#privacy-mode)

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot’s own messages
  • Service messages (people added or removed from the group, etc.)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

if text[0] == '/':
    ...
else:
    response = CMD["<speech>"](message)
    logging.info("REPLY\t%s\t%s" % (message['chat']['id'], response))
    send_reply(response)

А потом в список команд добавляем псевдо-речь:

RESPONSES = {
    "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"],
    "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"],
    "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"],
    "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",],
}
def human_response(message):
    leven = fuzzywuzzy.process.extract(message.get("text", ""), RESPONSES.keys(), limit=1)[0]
    response = {'chat_id': message['chat']['id']}
    if leven[1] < 75:
        response['text'] = "I can not understand you"
    else:
        response['text'] = random.choice(RESPONSES.get(leven[0])).format_map(
            {'name': message["from"].get("first_name", "")}
        )
    return response

Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

Боты, как и любой нормальный пользователь Telegram, могут не только писать сообщения, но и делиться картинками, музыкой, стикерами.

Для примера расширим словарь RESPONSES:

RESPONSES["What time is it?"] = ["<at_sticker>", "{date} UTC"]

И будем отлавливать текст :

if response['text'] == "<at_sticker>":
        response['sticker'] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC"
        del response['text']

Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

def send_reply(response):
    if 'sticker' in response:
        api.post(URL + "sendSticker", data=response)
    elif 'text' in response:
        api.post(URL + "sendMessage", data=response)

И все, теперь бот будет время от времени присылать стикер вместо времени:

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

Вспоминая статью про умный дом, могу сказать, что теперь извращений меньше, а работа прозрачнее.

7. Ограничения

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

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

while True:
            r = requests.get(URL + "?offset=%s" % (last + 1))
            if r.status_code == 200:
                for message in r.json()["result"]:
                    last = int(message["update_id"])
                    requests.post("http://localhost:8888/",
                                  data=json.dumps(message),
                                  headers={'Content-type': 'application/json',
                                           'Accept': 'text/plain'}
                     )
            else:
                logging.warning("FAIL " + r.text)
            time.sleep(3)

P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).

Питоном по телеграму! Пишем пять простых Telegram-ботов на Python — «Хакер»

В этой статье мы реали­зуем прос­той, но край­не полез­ный про­ект на Python — бота для Telegram. Боты — это неболь­шие скрип­ты, которые могут вза­имо­дей­ство­вать с API, что­бы получать сооб­щения от поль­зовате­ля и отправ­лять информа­цию в раз­ные чаты и каналы.

Python для новичков

Ес­ли ты сов­сем не ори­енти­руешь­ся в Python, то отличным началом будет проч­тение трех ввод­ных ста­тей, которые я пуб­ликовал в «Хакере» этим летом, либо посеще­ние кур­са «Python для нович­ков», который я нач­ну вес­ти для читате­лей «Хакера» уже сов­сем ско­ро — 30 нояб­ря.

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

Жмем кноп­ку «Запус­тить» (или отпра­вим /start), в ответ BotFather приш­лет нам спи­сок дос­тупных команд:

  • /newbot — соз­дать нового бота;
  • /mybots — редак­тировать ваших ботов;
  • /setname — сме­нить имя бота;
  • /setdescription — изме­нить опи­сание бота;
  • /setabouttext — изме­нить информа­цию о боте;
  • /setuserpic — изме­нить фото ава­тар­ки бота;
  • /setcommands — изме­нить спи­сок команд бота;
  • /deletebot — уда­лить бота.

От­пра­вим бате‑боту коман­ду /newbot, что­бы соз­дать нового бота. В ответ он поп­росит ввес­ти имя будуще­го бота, его мож­но писать на рус­ском. Пос­ле вво­да име­ни нуж­но будет отпра­вить адрес бота, при­чем он дол­жен закан­чивать­ся на сло­во bot. Нап­ример, xakepbot или xakep_bot. Если адрес будет уже кем‑то занят, BotFather нач­нет изви­нять­ся и про­сить при­думать что‑нибудь дру­гое.

Ког­да мы наконец най­дем сво­бод­ный и кра­сивый адрес для нашего бота, в ответ получим сооб­щение, в котором пос­ле фра­зы Use this token to access the HTTP API будет написа­на стро­ка из букв и цифр — это и есть необ­ходимый нам токен. Сох­раним ее где‑нибудь на сво­ем компь­юте­ре, что­бы потом исполь­зовать в скрип­те бота.

Для вза­имо­дей­ствия с Telegram API есть нес­коль­ко готовых модулей. Самый прос­той из них — Telebot. Что­бы уста­новить его, набери

pip install pytelegrambotapi

В Linux, воз­можно, понадо­бит­ся написать pip3 вмес­то pip, что­бы ука­зать, что мы хотим работать с треть­ей вер­сией Python.

 

Эхо-бот

Для начала реали­зуем так называ­емо­го эхо‑бота. Он будет получать от поль­зовате­ля тек­сто­вое сооб­щение и воз­вра­щать его.

import telebot

# Создаем экземпляр бота

bot = telebot.TeleBot('Здесь впиши токен, полученный от @botfather')

# Функция, обрабатывающая команду /start

@bot.message_handler(commands=["start"])

def start(m, res=False):

bot.send_message(m.chat.id, 'Я на связи. Напиши мне что-нибудь )')

# Получение сообщений от юзера

@bot.message_handler(content_types=["text"])

def handle_text(message):

bot.send_message(message.chat.id, 'Вы написали: ' + message.text)

# Запускаем бота

bot.polling(none_stop=True, interval=0)

За­пус­кай скрипт и ищи в поис­ке Telegram сво­его бота по адре­су, который ты при­думал ранее. Запус­каем бота кноп­кой «Запус­тить» (Start) или коман­дой /start и можем убе­дить­ся в том, что он работа­ет и воз­вра­щает сооб­щения.

При­мер работы эхо‑бота

 

Wikipedia-бот

Да­вай научим нашего бота не прос­то отсы­лать сооб­щения обратно, а чему‑нибудь поин­терес­нее. Нап­ример, по вве­ден­ному сло­ву давать статью на Википе­дии. Здесь нам поможет модуль Wikipedia:

Го­товим код.

import telebot, wikipedia, re

# Создаем экземпляр бота

bot = telebot.TeleBot('Здесь впиши токен, полученный от @botfather')

# Устанавливаем русский язык в Wikipedia

wikipedia.set_lang("ru")

# Чистим текст статьи в Wikipedia и ограничиваем его тысячей символов

def getwiki(s):

try:

ny = wikipedia.page(s)

# Получаем первую тысячу символов

wikitext=ny.content[:1000]

# Разделяем по точкам

wikimas=wikitext.split('.')

# Отбрасываем всЕ после последней точки

wikimas = wikimas[:-1]

# Создаем пустую переменную для текста

wikitext2 = ''

# Проходимся по строкам, где нет знаков «равно» (то есть все, кроме заголовков)

for x in wikimas:

if not('==' in x):

# Если в строке осталось больше трех символов, добавляем ее к нашей переменной и возвращаем утерянные при разделении строк точки на место

if(len((x.\{\}]*\}', '', wikitext2)

# Возвращаем текстовую строку

return wikitext2

# Обрабатываем исключение, которое мог вернуть модуль wikipedia при запросе

except Exception as e:

return 'В энциклопедии нет информации об этом'

# Функция, обрабатывающая команду /start

@bot.message_handler(commands=["start"])

def start(m, res=False):

bot.send_message(m.chat.id, 'Отправьте мне любое слово, и я найду его значение на Wikipedia')

# Получение сообщений от юзера

@bot.message_handler(content_types=["text"])

def handle_text(message):

bot.send_message(message.chat.id, getwiki(message.text))

# Запускаем бота

bot.polling(none_stop=True, interval=0)

При­мер работы Wikipedia-бота
www

При соз­дании сле­дующих ботов мы будем исполь­зовать нес­коль­ко тек­сто­вых фай­лов с кон­тентом. Ска­чать их мож­но с моего сай­та.

 

Бот с двумя виртуальными кнопками

Во мно­гих Telegram-ботах для выбора каких‑то дей­ствий исполь­зуют­ся так называ­емые вир­туаль­ные кноп­ки. Давай поп­робу­ем сде­лать себе такие же!

Пред­положим, что у нас есть два фай­ла facts.txt и thinks.txt, которые содер­жат спи­сок инте­рес­ных фак­тов и поговор­ки. На каж­дой стро­ке фай­лов находит­ся по одно­му фак­ту или поговор­ке.

Сде­лаем бота, в котором будут две кноп­ки: «Фак­ты» и «Поговор­ки». Если нажать любую, бот отпра­вит поль­зовате­лю соот­ветс­тву­ющее сооб­щение.

info

Ес­ли ты будешь исполь­зовать для это­го бота тот же токен, что и для пре­дыду­щего, то, что­бы уви­деть кноп­ки, переза­пус­ти бота коман­дой /start.

import telebot

import random

from telebot import types

# Загружаем список интересных фактов

f = open('data/facts.txt', 'r', encoding='UTF-8')

facts = f.read().split('\n')

f.close()

# Загружаем список поговорок

f = open('data/thinks.txt', 'r', encoding='UTF-8')

thinks = f.read().split('\n')

f.close()

# Создаем бота

bot = telebot.TeleBot('Здесь твой токен, полученный от @botfather')

# Команда start

@bot.message_handler(commands=["start"])

def start(m, res=False):

# Добавляем две кнопки

markup=types.ReplyKeyboardMarkup(resize_keyboard=True)

item1=types.KeyboardButton("Факт")

item2=types.KeyboardButton("Поговорка")

markup.add(item1)

markup.add(item2)

bot.send_message(m.chat.id, 'Нажми: \nФакт для получения интересного факта\nПоговорка — для получения мудрой цитаты ', reply_markup=markup)

# Получение сообщений от юзера

@bot.message_handler(content_types=["text"])

def handle_text(message):

# Если юзер прислал 1, выдаем ему случайный факт

if message.text.strip() == 'Факт' :

answer = random.choice(facts)

# Если юзер прислал 2, выдаем умную мысль

elif message.text.strip() == 'Поговорка':

answer = random.choice(thinks)

# Отсылаем юзеру сообщение в его чат

bot.send_message(message.chat.id, answer)

# Запускаем бота

bot.polling(none_stop=True, interval=0)

При­мер работы бота, зна­юще­го фак­ты и поговор­ки

 

Бот, ведущий Telegram-канал с анекдотами

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

Да­вай сде­лаем бота, который получа­ет спи­сок анек­дотов из фай­ла и каж­дый час пос­тит в канал один из этих анек­дотов. Для это­го нам нуж­но соз­дать свой канал в Telegram, добавить в под­писчи­ки канала нашего бота и наз­начить его адми­нис­тра­тором канала с пра­вом пуб­ликовать сооб­щения.

Файл с анек­дотами дол­жен лежать в пап­ке data рядом со скрип­том бота.

import telebot

import time

# Токен, который выдает @botfather

bot = telebot.TeleBot('Здесь твой токен, полученный от @botfather')

# Адрес телеграм-канала, начинается с @

CHANNEL_NAME = '@адрес_твоего_канала'

# Загружаем список шуток

f = open('data/fun.txt', 'r', encoding='UTF-8')

jokes = f.read().split('\n')

f.close()

# Пока не закончатся шутки, посылаем их в канал

for joke in jokes:

bot.send_message(CHANNEL_NAME, joke)

# Делаем паузу в один час

time.sleep(3600)

bot.send_message(CHANNEL_NAME, "Анекдоты закончились :-(")

При­мер работы бота, ведуще­го канал с анек­дотами

 

Чат-бот «Маша»

Те­перь давай сде­лаем прос­тей­шего чат‑бота, который будет бол­тать с поль­зовате­лем. Для это­го мы под­готовим файл boltun.txt, содер­жащий стро­ки с воп­росами (в начале таких строк пос­тавим мет­ку u:) и отве­тами на них в сле­дующей стро­ке.

u: как зовут

Маша меня зовут!

u: сколько тебе лет

Мне уже 18, честно-честно!

Файл boltun.txt помес­тим в пап­ку data рядом со скрип­том бота. Для поис­ка похожих воп­росов исполь­зуем модуль fuzzywuzzy, который поз­воля­ет срав­нивать, нас­коль­ко похожи меж­ду собой две стро­ки. Естес­твен­но, спер­ва этот модуль нуж­но уста­новить:

pip install fuzzywuzzy

pip install python-Levenshtein

Ни­же при­веден исходный код бота. Пос­ле его запус­ка напиши боту «При­вет» и поп­робуй с ним пооб­щать­ся. Естес­твен­но, это не искусс­твен­ный интеллект и набор его отве­тов огра­ничен фра­зами из фай­ла boltun.txt.

import telebot

import os

from fuzzywuzzy import fuzz

# Создаем бота, пишем свой токен

bot = telebot.TeleBot('Здесь твой токен, полученный от @botfather')

# Загружаем список фраз и ответов в массив

mas=[]

if os.path.exists('data/boltun.txt'):

f=open('data/boltun.txt', 'r', encoding='UTF-8')

for x in f:

if(len(x.strip()) > 2):

mas.append(x.strip().lower())

f.close()

# С помощью fuzzywuzzy вычисляем наиболее похожую фразу и выдаем в качестве ответа следующий элемент списка

def answer(text):

try:

text=text.lower().strip()

if os.path.exists('data/boltun.txt'):

a = 0

n = 0

nn = 0

for q in mas:

if('u: ' in q):

# С помощью fuzzywuzzy получаем, насколько похожи две строки

aa=(fuzz.token_sort_ratio(q.replace('u: ',''), text))

if(aa > a and aa!= a):

a = aa

nn = n

n = n + 1

s = mas[nn + 1]

return s

else:

return 'Ошибка'

except:

return 'Ошибка'

# Команда «Старт»

@bot.message_handler(commands=["start"])

def start(m, res=False):

bot.send_message(m.chat.id, 'Я на связи. Напиши мне Привет )')

# Получение сообщений от юзера

@bot.message_handler(content_types=["text"])

def handle_text(message):

# Запись логов

f=open('data/' + str(message.chat.id) + '_log.txt', 'a', encoding='UTF-8')

s=answer(message.text)

f.write('u: ' + message.text + '\n' + s +'\n')

f.close()

# Отправка ответа

bot.send_message(message.chat.id, s)

# Запускаем бота

bot.polling(none_stop=True, interval=0)

При­мер работы чат‑бота

 

Выводы

Мы написа­ли пять прос­тых ботов, на при­мере которых научи­лись при­нимать и отправ­лять сооб­щения, делать кноп­ки и понимать неточ­ные зап­росы.

В сле­дующей статье мы рас­смот­рим работу с Telegram-ботами более под­робно: научим­ся делать ботов, работа­ющих через веб‑хуки, при­нимать опла­ту от поль­зовате­лей и вза­имо­дей­ство­вать с базой дан­ных SQLite.

Так­же при­зываю тебя не откла­дывать и записы­вать­ся на курс «Python для нович­ков», где мы от прос­тей­ших понятий перей­дем к соз­данию пер­вых инте­рес­ных про­ектов. Стар­туем уже сов­сем ско­ро!

Курс по Python

Курс «Python с нуля» нап­равлен на изу­чение основ и базовых кон­цепций прог­рамми­рова­ния. Пос­ле него ты смо­жешь лег­ко углу­бить­ся в любую из ИТ‑сфер: веб‑раз­работ­ку, ана­лиз дан­ных, безопас­ность при­ложе­ний и так далее. Про­дол­житель­ность кур­са — два кален­дарных месяца. Уро­ки будут про­водить­ся два раза в неделю (втор­ник и чет­верг, ори­енти­ровоч­но в 17:00 по Мос­кве), каж­дый по одно­му ака­деми­чес­кому часу. Пери­оди­чес­ки будут выдавать­ся домаш­ние задания.

За­писать­ся на курс

Создаем Telegram-бота и зарабатываем на нем. Инструкция

Как создать Telegram-бота

Создать и настроить бота довольно просто. Для этого совсем не обязательно владеть языками программирования. 

Для начала нужно придумать имя, продумать команды, найти два Telegram-бота в помощь — @Fatherbot и @Manybot. Приступаем.

Шаг 1. Находим в строке поиска мессенджера приложение @FatherBot.

@FatherBot — это главный бот, который помогает создавать и изменять существующие боты. 

Шаг 2. Заходим в беседу с ботом, читаем описание.

Для начала работы нам нужно отправить команду /start.

Эта команда выведет на экран главное меню (список всего того, что умеет @FatherBot).

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

Также можно нажать на подсвеченную синим цветом  команду в выпавшем сообщении с меню.

Шаг 3. Создаем бот.

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

Вводим имя нашего бота.

Шаг 4. Придумываем юзернейм. 

Теперь нам нужно придумать юзернейм, который позволит находить бот внутри мессенджера или через браузер.

Важно: название бота должно оканчиваться на слово «bot» (welcome_bot, information_bot, newsbot).

@FatherBot сообщает нам, что юзернейм свободен и теперь закреплен за нашим ботом.

Теперь у нашего бота есть собственная гиперссылка, через которую пользователи могут находить бот и заходить в чат через браузер и сам мессенджер (http://t.me/StarsFriens_bot).

Также мы получаем токен (API-ключ). Это набор символов, исходный код нашего бота, который позволяет управлять им и изменять его в специальных конструкторах. Токен понадобится на следующих этапах работы с ботом.

Шаг 5. Переходим к настройкам бота. 

Отправляем в чат @FatherBot команду /mybots и выбираем нужный бот для редактирования (сейчас у нас только один тестовый бот, но впоследствии можно создавать и редактировать неограниченное количество ботов).

Отправляем в чат @FatherBot команду /mybots и 

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

Нажимаем на наш тестовый бот, получаем сообщение с меню, где нас спрашивают, что бы мы хотели сейчас сделать. Нажимаем в меню команду «Edit Bot» и получаем области редактирования нашего бота. 

На скриншоте видим «скелет» бота. Сейчас у него есть только название, но нет ни описания, ни каких-либо команд (действий, которые могут совершать с ним пользователи). По мере того как вы будете изменять бот, эти поля заполнятся.

Например, выбираем поле «Edit Description» и нажимаем соответствующую кнопку. 

Получаем сообщение, где нам предлагают дать описание того, чем наш бот поможет пользователям (такое же сообщение выпало нам, когда мы зашли в чат с @FatherBot).

Добавляем текст и получаем подтверждающее сообщение, что описание к боту добавлено.

Клавишу «Back to Bot» мы нажимаем каждый раз после того, как внесли изменение и хотим вернуться к другим настройкам бота.

Кстати, если нажмете клавишу «Back to Bot» и вернетесь к настройкам, то увидите, что «скелет» бота обновился: добавилось описание (Description).

В чем разница между полем Description и About? Description мы видим, когда уже зашли в чат с ботом. Поле About — это описание профиля бота, которое пользователи видят до начала диалога.

Снова нажимаем «Edit Bot», выбираем кнопку «Edit About». Поле About не должно превышать 120 символов.

About изменено. Нам снова предлагают либо вернуться к меню с настройками, либо к списку наших ботов (напоминаем, у нас он пока только один). 

Давайте посмотрим, где находится Description и About на примере нашего бота. Как это увидят пользователи? Мы уже можем ввести в поиске Telegram название нашего бота @StarsFriend_bot

В профиле бота видим поле About, а в самом чате — Description:

Шаг 5. Добавляем картинку.

Снова выбираем «Edit Bot», затем «Edit Botpic». Присылаем в чат заранее подготовленную картинку.

Нажимаем «Back to Bot», смотрим на «скелет» нашего бота.
Теперь здесь отображаются почти все параметры, кроме команд. Для настройки команд понадобится специальный редактор ботов — @Manybot.

Шаг 6. Добавляем команды через редактор @Manybot. 

Так как @Fatherbot не позволяет создавать команды для новых ботов, мы будем настраивать наш бот через специальные редакторы, например, через @Manybot.

@Manybot — многофункциональная платформа для создания и редактирования ботов, доступная на русском языке. В ней легко создавать меню и команды. Здесь же можно редактировать описание и другие параметры бота без знания языков программирования.

Находим бот в поиске приложения Telegram, отправляем в чат команду /start.

Получаем сообщение с меню.

На месте клавиатуры появляется меню, которым  мы будем пользоваться в дальнейшем. Нам нужно выбрать «Добавить бота».

Обратите внимание, что @Manybot содержит подробный список инструкций по любым настройкам. Нажмите на кнопку «Инструкции» (или отправьте в чат команду /tutorials) — и получите детальные гиды (на скриншоте отражена лишь часть инструкций). Нажмите кнопку «Помощь» — и снова получите меню доступных действий с вашим ботом (как на скриншоте выше):

Если вам недостаточно той информации, которая есть в меню самого @Manybot, вы можете найти большое количество пошаговых видео и инструкций в интернете. Так и гуглим: «Manybot инструкция».

Итак, нажимаем «Добавить нового бота». В ответ на команду @Manybot предлагает уже знакомый нам алгоритм. Остается только скопировать токен (напомним, мы получили его в самом начале от @FatherBot) и прислать его в сообщении @Manybot.

Важно! Никому не присылайте свой токен. Пользуйтесь только проверенными конструкторами ботов. Мы ведь не хотим, чтобы наш бот попал в чужие руки. 

Отправляем сообщение «Я скопировал токен».

Присылаем наш токен из сообщения в чате с @Fatherbot.

Токен принят, и сейчас мы перейдем в чат с нашим ботом и далее будем работать в нем.

В чате с @Manybot даем команду /newpost (или нажимаем клавишу меню «Отправить новое сообщение подписчикам»). Выбираем нашего бота в выпавшем сообщении.

Нажимаем на название бота в сообщении, и нас перебрасывает в чат с  нашим ботом. Здесь видим сообщение, которое только что отправил нам @Manybot. Оно содержит меню с настройками. Это пульт управления нашим ботом. Здесь можем перечитать подробные инструкции по каждому пункту. И снова видим удобные клавиши меню на месте клавиатуры:

Нас интересует клавиша «Пользовательские команды». Это и есть будущие пункты меню нашего бота. Теперь можем создавать любые команды для нашего бота — специальные запросы, которые будут отправлять подписчики, чтобы получить информацию или действие от бота.

Сначала настроим команды, а затем уже их вид в меню (то, как их будут видеть подписчики).

Выбираем «Создать команду». 

Советуем перед началом программирования бота составить лист задач, который он будет выполнять для пользователей: отвечать на вопросы, присылать фотографии, что-то еще.

Так как тематика нашего тестового бота связана с астрономией и астрологией, в качестве одной из команд мы вставим ссылку на сайт NASA. Эту команду (опцию будущего меню) так и назовем: /site. 

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

Вы можете добавить для подписчиков возможность задавать боту вопросы. Для этого есть специальная кнопка «Добавить вопрос». Нажимаем ее и видим варианты: «Обычный вопрос», «Развернутый ответ», «С вариантами ответа». 

Вы также можете включить «Режим Случайного Сообщения».

Приведем пример еще двух команд: /wallpaper (мы хотим, чтобы пользователи могли скачать тематические обои) и /info (после этой команды пользователь получит информацию о создателях бота).

Для /wallpaper используем режим случайного сообщения и загрузим пять картинок. Нажимаем «Сохранить».

Шаг 7. Настройка меню бота.

Благодаря удобным клавишам меню снизу добавляете и упорядочиваете команды, которые вы задали боту на предыдущих этапах.

Выбираем «Настроить гл.меню», «Добавить пункт меню», выбираем уже созданную нами команду, называем ее (финальное название для пользователя, а не формат /команда), сохраняем.

Например, хотим переименовать команду /info в понятное «О нас».

Выбираем «Добавить пункт меню» — /info:

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

В наш тестовый бот добавили три пункта меню: /info (о нас),  /site (официальный сайт NASA), /coolfact (интересные факты).

Добавление чат-бота в Microsoft Teams — Power Virtual Agents

  • Статья
  • Чтение занимает 12 мин
  • Участники: 3

Были ли сведения на этой странице полезными?

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

Выберите версию Power Virtual Agents, которую вы используете, здесь:

Теперь, когда вы опубликовали своего бота, вы можете сделать его доступным для пользователей в Microsoft Teams, чтобы ваши товарищи по команде и другие сотрудники организации могли взаимодействовать с ним. Вам нужно опубликовать бота хотя бы один раз, прежде чем пользователи смогут взаимодействовать с ботом в Microsoft Teams.

Пользователь может:

  • Настройте внешний вид вашего бота в Microsoft Teams
  • Установите бота для себя в Microsoft Teams
  • Поделитесь ссылкой для установки бота с другими пользователями
  • Отобразите бота в магазине приложений Microsoft Teams.
    • Покажите бота пользователям с общим доступом, добавив его в магазин приложений Microsoft Teams в раздел Создано коллегами.
    • Поделитесь ботом со своей организацией, отправив бота на утверждение администратором, чтобы он был размещен в магазине приложений Microsoft Teams в разделе Создано вашей организацией.
  • Добавьте бота в канал команды.
  • Загрузите предварительно созданный манифест приложения Teams, чтобы распространить его в своем клиенте Microsoft Teams.

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

Предварительные условия

Подключите своего бота к каналу Microsoft Teams

После публикации своего бота хотя бы один раз вы можете подключить его к каналу Microsoft Teams, чтобы пользователи могли общаться с ботом в Microsoft Teams.

Примечание

Мы рекомендуем вам включить настройки безопасности для ботов, созданных для Microsoft Teams или внутреннего использования сотрудниками, чтобы вы могли гарантировать, что бот не будет доступен для лиц за пределами вашей организации.

Подключение к Microsoft Teams:

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Включить Teams.

    Примечание

    Если вы не видите этот вариант, значит канал Microsoft Teams может уже быть включен.

Настройте внешний вид бота в Microsoft Teams

Предоставление правильного описания и внешнего вида бота перед тем, как сделать его доступным для других пользователей, важно, так как это дает им представление о назначении бота и его фирменном стиле (если применимо).

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Изменить сведения для изменения значка, цвета и описания бота. Они будут показаны в магазине приложений Microsoft Teams и на вкладку «О приложении» после того, как пользователь установит бота. Ознакомьтесь с рекомендациями по форматам значков Microsoft Teams.

    Важно!

    Обновления сведений о боте не будут применяться к пользователям, которые уже установили бота по общей ссылке или из раздела Создано коллегами. Им нужно будет переустановить бота, чтобы получать обновления.

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

  4. Выберите Дополнительно для добавления дополнительной информации:

  5. Выберите Сохранить, чтобы вернуться на экран, где вы можете сделать своего бота доступным в Teams. Вы увидите, что обновления цвета, значка и описания.

Установите бота как приложение в Microsoft Teams

После того, как вы опубликовали бота, вы можете добавить его в свою версию Microsoft Teams прямо из приложения Power Virtual Agents.

Важно!

Новый контент в недавно опубликованном боте не будет отображаться в текущих разговорах. Через 30 минут простоя бот обновится.

Вы можете ввести Начать сначала в существующей беседе, чтобы сразу начать новую беседу и увидеть последние обновления бота.

Вам следует добавить своего бота в свою версию Teams, прежде чем поделиться им с другими.

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Открыть бота, чтобы запустить запрос установки в Microsoft Teams. Выберите Добавить, чтобы добавить как приложение в Teams. Бот будет установлен только для вас.

Поделитесь ссылкой, чтобы другие могли установить бота

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Параметры доступности и выберите Копировать ссылку

  4. Поделитесь скопированной ссылкой с пользователями, чтобы они могли установить бота в Microsoft Teams.

Отобразите бота в магазине приложений Microsoft Teams

После того, как вы опубликовали своего бота, вы можете показать его в магазине приложений Microsoft Teams, чтобы пользователи могли его найти и установить.

Показать пользователям с общим доступом

Вы можете поделиться своим ботом, добавив его в магазин приложений Microsoft Teams, раздел Создано для вашей организации > Создано коллегами. Только пользователи с общим доступом увидят там бота.

Важно!

Только пользователи, которым вы предоставили доступ, могут найти бота магазине приложений Microsoft Teams в разделе Создано коллегами. Бот не будет отображаться для всех в организации, даже если он настроен так, чтобы все могли использовать его. Чтобы показать бота своей организации, отправьте бота на утверждение администратором, чтобы разместить его в магазине приложений Microsoft Teams в разделе Создано вашей организацией.

Бот может отображаться только в магазине приложений Microsoft Teams, в разделе Создано коллегами, когда общее количество пользователей с общим доступом не превышает политику обнаружения магазина приложений Teams для клиента. Чтобы показать бота за пределами политики вашей организации, обратитесь к администратору, чтобы показать бота организации.

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Параметры доступности.

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

  5. Убедитесь, что установлен флажок Показывать в разделе «Создано коллегами» и выберите Поделиться.

  6. Это автоматически добавит бота в раздел Создано коллегами, будет отображаться зеленая метка Добавлено в Teams на странице параметров доступности.

Примечание

Если ваше приложение не отображается в разделе Создано коллегами, ваше приложение Teams может кэшировать информацию.

Попробуйте выйти и снова войти (если вы используете настольное приложение) или обновить страницу в браузере (если вы используете веб-приложение Teams).

Удаление бота из раздела «Создано коллегами»

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

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Параметры доступности.

  4. Выберите флажки Показывать моим коллегам и пользователям, которым предоставлен доступ и Показывать в разделе «Создано коллегами».

  5. Выберите Предоставить общий доступ. Теперь бот больше не будет отображаться в магазине приложений Microsoft Teams в разделе Создано коллегами.

Показать организации

Можно поделиться ботом со своей организацией, отправив бота на утверждение администратором, чтобы он был размещен в разделе Создано вашей организацией > Создано коллегами. Это отличный способ широко распространить своего бота, сотрудничая с вашим администратором, чтобы развернуть бота для всех в организации или для группы пользователей.

Администраторы также могут предварительно установить и закрепить бота для пользователей в организации, чтобы они могли получить к нему доступ прямо из панели приложений в Microsoft Teams.

Перед отправкой бота в вашу организацию убедитесь, что:

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

Примечание

После утверждения бота администратором его доступность в разделе Создано вашей организацией будет полностью управляться вашим администратором. Только администратор может удалить бота из раздела Создано вашей организацией.

Отправьте заявку для раздела «Создано вашей организацией»
  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Параметры доступности.

  4. Убедитесь, что бот не отображается для коллег по команде и пользователей с общим доступом. Удалите его, если есть метка Добавлено в Teams.

  5. Выберите Показывать всем в моей организации.

  6. Ознакомьтесь с требованиями для отправки и выберите Отправить на утверждение администратором.

    Примечание

    Убедитесь, что вы просмотрели контент, и он готов для просмотра администратором. Вам нужно будет отправить новые запросы администратору, чтобы обновить значок и описания для ботов, которые были ранее одобрены.

    После утверждения все новые и существующие пользователи бота в Teams получат обновление.

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

  7. Появится окончательное подтверждение. Щелкните Да, чтобы продолжить. Бот будет отправлен вашему администратору для утверждения, и вы увидите примечание с состоянием вашей отправки.

    Примечание

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

    Иначе пользователи в организации не смогут общаться с ботом после его установки из магазина приложений Microsoft Teams в разделе Создано вашей организацией.

    Работайте со своим администратором по вопросам политики приложения Microsoft Teams для тех, кто может найти и установить бота.

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

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

  10. Или же обратитесь к администратору, чтобы предварительно закрепить или установить приложение для пользователей с политикой приложения Microsoft Teams, чтобы они могли найти бота прямо в своем списке приложений Microsoft Teams.

Примечание

Если ваше приложение не отображается в разделе Создано вашей организацией, даже если есть состояние Утверждено, ваше приложение Teams может кэшировать информацию.

Попробуйте выйти и снова войти (если вы используете классическое приложение) или обновить страницу в браузере (если вы используете веб-приложение Teams).

Добавить бота в рабочую группу

В Microsoft Teams можно добавить ботов в команды. Когда вы добавляете ботов, члены команды могут @упомянуть бота в любых каналах рабочей группы, и все сотрудники группы увидят ответ от бота. Эта функция полезна для сценариев, в которых:

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

Разрешить пользователям добавлять бота в рабочую группу

Этот параметр позволяет пользователям добавлять бота в любую команду, частью которой они являются, при добавлении бота в Microsoft Teams.

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

Важно!

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

Чтобы разрешить пользователям добавлять бота в рабочую группу:

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Изменить сведения.

  4. Выберите Разрешить пользователям добавлять этого бота в рабочую группу.

  5. Выберите Сохранить.

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

Если вы ранее отправили бота на одобрение администратора, вам нужно будет отправить повторно после включения этого параметра. Администратор должен одобрить эти изменения, прежде чем пользователи смогут добавить бота в свои команды из магазина приложений Microsoft Teams в разделе «Создано вашей организацией».

Запретить пользователям добавлять бота в команду

Отключение этого параметра не позволит пользователям добавлять бота в новую команду, но не удалит его из команд, в которые он уже добавлен. Этих ботов нужно будет вручную удалить из команды.

Чтобы запретить пользователям добавлять бота в команду:

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Изменить сведения.

  4. Снимите флажок Разрешить пользователям добавлять этого бота в рабочую группу.

  5. Выберите Сохранить.

Настройка поведения личного приветствия

Личные приветствия от бота полезны, когда вы хотите, чтобы члены команды общались с ботом один на один, не устанавливая бота вручную.

Если этот параметр включен, ваш бот автоматически начнет разговор с членами команды. Чтобы настроить приветственное сообщение бота, измените тему системного приветствия.

Подумайте, насколько актуален бот для членов команды. Убедитесь, что приветствие бота помогает им понять, что с ним делать, описывает его ограничения и, самое главное, позволяет им комфортно взаимодействовать с ним.

Чтобы настроить, когда бот отправляет личное приветствие:

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Параметры.

  4. Настройте параметры личного приветствия.

  5. Выберите Сохранить.

Загрузите манифест приложения Teams бота (дополнительно)

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

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Параметры доступности.

  4. Выберите Загрузить ZIP.

  5. Манифест будет создан как файл ZIP и сохранен в соответствии с настройками сохранения вашего браузера.

Отключение своего бота от Teams

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

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

Для ботов, одобренных администратором, они по-прежнему будут отображаться в магазине приложений Microsoft Teams в разделе Создано вашей организацией. Вам нужно будет связаться со своим администратором, чтобы удалить бота

  1. На боковой панели перейдите в Управление > Каналы.

  2. Выберите параметр Microsoft Teams.

  3. Выберите Отключить бота от Teams.

  4. Просмотрите информацию об отключении вашего бота и выберите Отключить, чтобы продолжить.

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

Известные ограничения

  • В настоящее время только области Личный и Рабочая группа поддерживаются для Microsoft Teams. Групповой чат не поддерживается.
  • Установка значка аватара бота на боковой панели в Управление > Сведения не будет отображаться для ботов, одобренных администратором. Боты, одобренные администратором, будут использовать значок приложения в качестве аватара бота.
  • Teams имеют ограничение скорости для ботов. В зависимости от потребностей вашего бизнеса, вы, возможно, захотите, чтобы содержимое вашего бота было кратким для ботов, добавляемых в Microsoft Teams.
  • В настоящее время если ваш бот поддерживает аутентификацию конечного пользователя, пользователь не сможет явно выйти из системы. Если вы опубликуете свой бот на панели мониторинга продавца, это нарушит сертификацию Microsoft Teams AppSource. Это не относится к личному использованию бота или использованию в рамках клиента. Узнайте больше в разделе Публикация приложения Microsoft Teams и Политика проверки AppSource.
  • Отключение вашего бота от Teams может занять несколько минут, прежде чем бот станет недоступен для пользователей Microsoft Teams.

Учебное пособие по Python Discord Bot. Создайте бота Discord и разместите его бесплатно

В этом учебном пособии вы узнаете, как полностью создать собственного бота Discord в облаке.

Вам не нужно ничего устанавливать на свой компьютер, и вам не нужно ничего платить за размещение своего бота.

Мы собираемся использовать ряд инструментов, в том числе Discord API, библиотеки Python и платформу облачных вычислений под названием Repl.it.

Существует также видеоверсия этого письменного руководства.Видео встроено ниже, а письменная версия после видео.

Как создать учетную запись Discord Bot

Чтобы работать с библиотекой Python и Discord API, мы должны сначала создать учетную запись Discord Bot.

Вот шаг к созданию учетной записи Discord Bot.

1. Убедитесь, что вы вошли на сайт Discord.

2. Перейдите на страницу приложения.

3. Нажмите кнопку «Новое приложение».

4.Дайте приложению имя и нажмите «Создать».

5. Перейдите на вкладку «Бот» и нажмите «Добавить бота». Вам нужно будет подтвердить, нажав «Да, сделайте это!»

Сохранить настройки по умолчанию для Общедоступный бот (отмечено) и Требовать предоставления кода OAuth3 (снято).

Ваш бот создан. Следующим шагом является копирование токена.

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

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

Как пригласить вашего бота присоединиться к серверу

Теперь вам нужно поместить своего пользователя-бота на сервер. Для этого вы должны создать для него URL-адрес приглашения.

Перейдите на вкладку «OAuth3». Затем выберите «bot» в разделе «scopes».

Теперь выберите разрешения для бота. Наш бот будет в основном использовать текстовые сообщения, поэтому нам не нужно много разрешений. Вам может понадобиться больше в зависимости от того, что вы хотите, чтобы ваш бот делал.Будьте осторожны с разрешением «Администратор».

После выбора соответствующих разрешений нажмите кнопку «Копировать» над разрешениями. Это скопирует URL-адрес, который можно использовать для добавления бота на сервер.

Вставьте URL-адрес в адресную строку браузера, выберите сервер, на который следует пригласить бота, и нажмите «Авторизовать».

Чтобы добавить бота, вашей учетной записи необходимы разрешения «Управление сервером».

Теперь, когда вы создали пользователя бота, мы начнем писать код Python для бота.

Как закодировать базового бота Discord с помощью библиотеки discord.py

Мы будем использовать библиотеку discord.py Python для написания кода для бота. discord.py — это оболочка API для Discord, упрощающая создание бота Discord на Python.

Как создать Repl и установить discord.py

Вы можете разработать бота на локальном компьютере с помощью любого редактора кода. Однако в этом уроке мы будем использовать Repl.it, потому что это упростит следование всем.Repl.it — это онлайн-IDE, которую вы можете использовать в своем веб-браузере.

Начните с Repl.it. Создайте новый Repl и выберите «Python» в качестве языка.

Чтобы использовать библиотеку discord.py, просто напишите import discord вверху main.py . Repl.it автоматически установит эту зависимость, когда вы нажмете кнопку «Выполнить».

Если вы предпочитаете кодировать бота локально, вы можете использовать эту команду в MacOS для установки discord.py:

python3 -m pip install -U discord.py

Возможно, вам придется использовать pip3 вместо pip .

Если вы используете Windows, вместо этого следует использовать следующую строку:

py -3 -m pip install -U discord.py

Как настроить события Discord для вашего бота

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

Давайте сделаем бота, который отвечает на конкретное сообщение. Этот простой код бота вместе с объяснением кода взят из документации discord.py. Позже мы добавим больше функций в бота.

Добавьте этот код в main.py. (Вы можете назвать файл как угодно, только не discord.py.) Вскоре я объясню, что делает весь этот код.

  импорт разногласий
импорт ОС

клиент = раздор.Клиент()

@client.event
асинхронная защита on_ready():
    print('Мы вошли как {0.пользователь}'.format(клиент))

@client.event
асинхронное определение on_message (сообщение):
    если сообщение.автор == клиент.пользователь:
        вернуть

    если message.content.startswith('$hello'):
        ожидание message.channel.send('Привет!')

client.run(os.getenv('TOKEN'))  

Когда вы создали своего пользователя-бота в Discord, вы скопировали токен. Теперь мы собираемся создать файл .env для хранения токена. Если вы запускаете свой код локально, вам не нужен файл .env . Просто замените ос.getenv('TOKEN') с токеном.

Файлы .env используются для объявления переменных среды. На Repl.it большинство создаваемых вами файлов видны всем, но файлы .env видны только вам. Другие люди, просматривающие общедоступную реплику, не смогут увидеть содержимое файла .env .

Поэтому, если вы разрабатываете Repl.it, включайте в файл .env только личную информацию, такую ​​как токены или ключи.

Нажмите кнопку «Добавить файл» и создайте файл с именем .код .

Внутри файла добавьте следующую строку, включая фактический токен, который вы скопировали ранее:

  TOKEN=[вставьте сюда токен]  

Теперь давайте рассмотрим, что делает каждая строка кода в вашем коде бота Discord.

  1. Первая строка импортирует библиотеку discord.py.
  2. Вторая строка импортирует библиотеку os, но она используется только для получения переменной TOKEN из файла .env . Если вы не используете .env , эта строка вам не нужна.
  3. Далее мы создаем экземпляр клиента . Это связь с Дискордом.
  4. Декоратор @client.event() используется для регистрации события. Это асинхронная библиотека, поэтому все делается с помощью обратных вызовов. Обратный вызов — это функция, которая вызывается, когда происходит что-то еще. В этом коде событие on_ready() вызывается, когда бот готов к использованию. Затем, когда бот получает сообщение, вызывается событие on_message() .
  5. Событие on_message() запускается каждый раз при получении сообщения, но мы не хотим, чтобы оно что-либо делало, если сообщение исходит от нас самих. Поэтому, если Message.author совпадает с Client.user , код просто возвращается.
  6. Далее мы проверяем, начинается ли Message.content с '$hello' . Если да, то бот отвечает "Привет!" на канал, в котором он использовался.
  7. Теперь, когда бот настроен, последняя строка запускает бота с токеном входа.Он получает токен из файла .env .

У нас есть код для бота, так что осталось его запустить.

Как запустить бота

Теперь нажмите кнопку запуска вверху, чтобы запустить бота в repl.it.

Если вы пишете бота локально, вы можете использовать следующие команды в терминале для запуска бота:

В Windows:

py -3 main.py

В других системах:

python3 main. py

Теперь перейдите в свою комнату Discord и введите «$hello».Ваш бот должен вернуть «Привет!».

Как улучшить бота

Теперь, когда базовый бот работает, мы его улучшим. Он называется «Поощрение бота» не просто так.

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

Любой желающий сможет добавлять ободряющие сообщения для использования ботом, а отправленные пользователями сообщения будут храниться в базе данных Repl.it.

Бот также будет возвращать случайную вдохновляющую цитату из API, когда кто-то вводит в чат сообщение «$inspire».

Мы начнем с добавления функции «$inspire».

Как добавить вдохновляющие цитаты в бот

Мы будем получать вдохновляющие цитаты из API под названием zenquotes.io. Нам нужно импортировать еще пару модулей Python, добавить функцию get_quote() и обновить код нашего бота для вызова этой функции.

Вот обновленный код. После кода я объясню новые части.

  импорт разногласий
импорт ОС
запросы на импорт
импортировать json

клиент = раздор.Клиент()

защита get_quote():
  ответ = запросы.получить("https://zenquotes.io/api/random")
  json_data = json.loads(ответ.текст)
  цитата = json_data[0]['q'] + "-" + json_data[0]['a']
  возврат (цитата)

@client.event
асинхронная защита on_ready():
  print('Мы вошли как {0.user}'.format(client))

@client.event
асинхронное определение on_message (сообщение):
  если сообщение.автор == клиент.пользователь:
    вернуть

  если message.content.startswith('$inspire'):
    цитата = get_quote()
    ожидание сообщения.канал.отправить(цитата)

клиент.run(os.getenv('TOKEN'))  

Теперь нам нужно импортировать модуль запросов . Этот модуль позволяет нашему коду выполнять HTTP-запрос для получения данных из API. API возвращает JSON, поэтому модуль json упрощает работу с возвращаемыми данными.

Функция get_quote() довольно проста. Во-первых, он использует модуль запросов для запроса данных из URL-адреса API. API возвращает случайную вдохновляющую цитату. Эту функцию можно легко переписать для получения котировок из другого API, если текущий перестанет работать.

Далее внутри функции мы используем json.loads() для преобразования ответа от API в JSON. Методом проб и ошибок я понял, как преобразовать цитату из JSON в нужный формат строки. Цитата возвращается из функции в виде строки.

Последняя часть кода, обновленная ближе к концу. Раньше он искал сообщение, начинающееся с «$hello». Теперь он ищет «$inspire». Вместо того, чтобы возвращать «Hello!», он получает цитату с quote = get_quote() и возвращает цитату.

На этом этапе вы можете запустить свой код и попробовать его.

Как добавить боту ободряющие сообщения

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

Как добавить боту грустные слова

Сначала нам нужно создать список Python, содержащий грустные слова, на которые будет реагировать бот.

После создания переменной клиента добавьте следующую строку:

sad_words = ["грустный", "подавленный", "несчастный", "злой", "несчастный"]

Не стесняйтесь добавлять больше слов в список.

Как добавить ободряющие сообщения в бот

Теперь мы добавим список ободряющих сообщений, которыми будет отвечать бот.

Добавьте следующий список после созданного вами списка sad_words :

  starter_encouragements = [
  "Не унывать!",
  "Повесить там.",
  "Ты отличный человек/бот!"
]  

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

Как отвечать на сообщения

Теперь нам нужно обновить нашего бота, чтобы он использовал два списка, которые мы создали. Во-первых, импортируйте случайный модуль, потому что бот будет случайным образом выбирать ободряющие сообщения. Добавьте следующую строку в операторы импорта в верхней части кода: import random .

Теперь мы обновим функцию on_message() , чтобы проверить все сообщения, чтобы увидеть, содержат ли они слово из списка sad_words . Если будет найдено грустное слово, бот отправит случайное сообщение ободрения.

Вот обновленный код:

  async def on_message(message):
  если сообщение.автор == клиент.пользователь:
    вернуть

  сообщение = сообщение.содержимое

  если msg.startswith('$inspire'):
    цитата = get_quote()
    ожидание сообщения.канал.отправить(цитата)
    
  если есть (слово в сообщении за слово в sad_words):
    await message.channel.send(random.choice(starter_encouragements))  

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

Как включить пользовательские сообщения

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

Мы собираемся использовать встроенную базу данных Repl.it для хранения отправленных пользователями сообщений. Эта база данных представляет собой хранилище ключей и значений, встроенное в каждую реплику.

В верхней части кода, под другими операторами импорта, добавьте из replit import db .Это позволит нам использовать базу данных Repl.it.

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

Добавьте следующий код после функции get_quote() :

  def update_encouragements(encouraging_message):
  если "поощрения" в db.keys():
    поощрения = db["поощрения"]
    поощрения.добавить (ободряющее_сообщение)
    db["поощрения"] = поощрения
  еще:
    db["поощрения"] = [поощрение_сообщения]

def delete_encouragment (индекс):
  поощрения = db["поощрения"]
  если len(поощрения) > index:
    дель поощрения[индекс]
  db["поощрения"] = поощрения  

Функция update_encouragements() принимает в качестве аргумента ободряющее сообщение.

Сначала он проверяет, является ли "поощрение" ключом в базе данных. Если это так, он получает список поощрений, уже находящихся в базе данных, добавляет новый список в список и сохраняет обновленный список обратно в базу данных под ключом «поощрения».

Если в базе данных еще нет «поощрений», создается новый ключ с таким именем, и новое поощрительное сообщение добавляется в качестве первого элемента в список.

Функция delete_encouragement() принимает индекс в качестве аргумента.

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

Наконец, обновленный список сохраняется в базе данных под ключом "поощрения".

Вот обновленный код функции on_message() . После кода я объясню новые разделы.

  асинхронное определение on_message (сообщение):
  если сообщение.автор == клиент.пользователь:
    вернуть

  сообщение = сообщение.содержимое
 
  если msg.startswith("$inspire"):
    цитата = get_quote()
    ожидание сообщения.канал.отправить(цитата)

  опции = starter_encouragements
  если "поощрения" в дб.ключи():
    options = options + db["поощрения"]

  если есть (слово в сообщении за слово в sad_words):
    ожидание сообщения.канал.отправить(случайный.выбор(варианты))

  если msg.startswith("$new"):
    поощрение_message = msg.split("$новый ",1)[1]
    update_encouragements (ободряющее_сообщение)
    await message.channel.send("Добавлено новое ободряющее сообщение")

  если msg.startswith("$del"):
    поощрения = []
    если "поощрения" в db.keys():
      индекс = int(msg.split("$del",1)[1])
      delete_encouragment (индекс)
      поощрения = db["поощрения"]
    ждите сообщения.channel.send(encouragements)  

Первая новая строка кода сверху — options = starter_encouragements . Мы делаем копию starter_encouragements , потому что мы собираемся добавить сообщения, отправленные пользователями, в этот список, прежде чем выбрать случайное сообщение для отправки бота.

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

Затем вместо отправки случайного сообщения из starter_encouragements бот теперь отправляет случайное сообщение из options .

Следующий новый раздел кода используется для добавления в базу данных нового сообщения, отправленного пользователем. Если сообщение Discord начинается с «$new», то текст после «$new» будет использоваться как новое ободряющее сообщение.

Код msg.split("$new ",1)[1] отделяет сообщение от команды "$new" и сохраняет сообщение в переменной.В этой строке кода обратите внимание на пробел в "$new" . Нам нужно все после пробела.

Мы вызываем вспомогательную функцию update_encouragements с новым сообщением, а затем бот отправляет сообщение в чат дискорда, подтверждая, что сообщение было добавлено.

Третий новый раздел (в конце приведенного выше кода) проверяет, начинается ли новое сообщение Discord с «$del». Это команда для удаления элемента из списка «поощрений» в базе данных.

Сначала новая переменная с именем поощрения инициализируется как пустой массив. Причина этого в том, что этот раздел кода отправит сообщение с пустым массивом, если база данных не включает ключ «поощрения».

Если ключ "поощрения" есть в базе данных, индекс будет отделен от сообщения Discord, начинающегося с "$del". Затем вызывается функция delete_encouragement() с передачей индекса для удаления. Обновленный список поощрений загружается в переменную поощрений , после чего бот отправляет сообщение в Discord с текущим списком.

Окончательные характеристики бота

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

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

Я дам вам полный окончательный код программы, а потом расскажу об обновлениях под кодом.

  импорт разногласий
импорт ОС
запросы на импорт
импортировать json
импортировать случайный
из базы данных повторного импорта

клиент = раздор.Клиент()

sad_words = ["грустный", "подавленный", "несчастный", "злой", "несчастный"]

starter_encouragements = [
  "Не унывать!",
  "Повесить там.",
  "Ты отличный человек/бот!"
]

если "отвечает" не в db.keys():
  БД["отвечает"] = Истина

защита get_quote():
  ответ = запросы.получить("https://zenquotes.io/api/random")
  json_data = json.loads(ответ.текст)
  цитата = json_data[0]["q"] + "-" + json_data[0]["a"]
  возврат (цитата)

def update_encouragements (поощрение_сообщения):
  если "поощрения" в дб.ключи():
    поощрения = db["поощрения"]
    поощрения.append(поощрение_сообщение)
    db["поощрения"] = поощрения
  еще:
    db["поощрения"] = [поощрение_сообщения]

def delete_encouragment (индекс):
  поощрения = db["поощрения"]
  если len(поощрения) > index:
    дель поощрения[индекс]
  db["поощрения"] = поощрения

@client.event
асинхронная защита on_ready():
  print("Мы вошли как {0.user}".format(client))

@client.event
асинхронное определение on_message (сообщение):
  если сообщение.автор == клиент.пользователь:
    вернуть

  сообщение = сообщение.содержимое

  если msg.startswith("$inspire"):
    цитата = get_quote()
    ожидание сообщения.канал.отправить(цитата)

  если БД["отвечает"]:
    опции = starter_encouragements
    если "поощрения" в db.keys():
      options = options + db["поощрения"]

    если есть (слово в сообщении за слово в sad_words):
      ожидание сообщения.канал.отправить(случайный.выбор(варианты))

  если msg.startswith("$new"):
    поощрение_message = msg.split("$новый ",1)[1]
    update_encouragements (ободряющее_сообщение)
    ждите сообщения.channel.send("Добавлено новое ободряющее сообщение.")

  если msg.startswith("$del"):
    поощрения = []
    если "поощрения" в db.keys():
      индекс = int(msg.split("$del",1)[1])
      delete_encouragment (индекс)
      поощрения = db["поощрения"]
    await message.channel.send (поощрения)

  если msg.startswith("$list"):
    поощрения = []
    если "поощрения" в db.keys():
      поощрения = db["поощрения"]
    await message.channel.send (поощрения)
    
  если сообщ.начинается с ("$ отвечая"):
    значение = msg.split("$responding",1)[1]

    если value.lower() == "true":
      БД["отвечает"] = Истина
      await message.channel.send("Ответ включен.")
    еще:
      БД["отвечает"] = Ложь
      await message.channel.send("Ответ отключен.")

client.run(os.getenv("TOKEN"))  

Первый раздел, добавленный в код, находится прямо под списком starter_encouragements :

 , если "отвечает" не в db.keys():
  db["responding"] = True  

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

Следующая новая часть кода заключается в том, что секция, отвечающая на грустные слова, теперь находится внутри этого оператора if: if db["responding"]: . Бот будет реагировать только на грустные слова, если db["responding"] = True . Возможность обновить это значение появляется после следующего раздела.

Далее, после кода, заставляющего бота реагировать на команду «$del», есть новый код, отвечающий на команду «$list» при отправке в виде сообщения Discord.

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

Наконец, бот отправляет список поощрений в виде сообщения Discord.

Далее идет последний новый раздел.Этот код заставляет бота реагировать на команду «$responding». Эта команда принимает аргумент «true» или «false». Вот пример использования: «$responding true».

Сначала код получает аргумент с value = msg.split("$responding ",1)[1] (как и раньше, обратите внимание на пробел в "$responding " ). Затем есть оператор if/else, который соответствующим образом устанавливает «отвечающий» ключ в базе данных и отправляет уведомление обратно в Discord. Если аргумент не "истина", код предполагает "ложь".

Код для бота готов! Теперь вы можете запустить бота и попробовать его. Но есть еще один важный шаг, который мы обсудим далее.

Как настроить бота для непрерывной работы

Если вы запустите бота в repl.it, а затем закроете вкладку, в которой он работает, ваш бот перестанет работать.

Но есть два способа поддерживать непрерывную работу бота даже после закрытия браузера.

Первый и самый простой способ — подписаться на платный план в Repl.Это. Их самый дешевый платный план называется Hacker Plan и включает в себя пять постоянных повторений.

Вы можете получить три месяца бесплатно по этой ссылке (только для первых 1000 человек):  https://repl.it/claim?code=tryalwayson2103

После того, как вы подписались на этот план, откройте Repl и щелкните имя наверху. Затем выберите опцию «Всегда включен».

Есть еще один способ поддерживать работоспособность вашего кода даже на бесплатном уровне, но он немного сложнее. Repl.it продолжит работу веб-сервера даже после закрытия вкладки.Но даже веб-сервер будет работать только до часа без какого-либо использования.

Вот что говорится в документации repl.it:

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

Чтобы бот работал непрерывно, мы будем использовать другой бесплатный сервис под названием Uptime Robot по адресу https://uptimerobot.com/.

Uptime Robot можно настроить так, чтобы он пинговал веб-сервер бота на repl.it каждые 5 минут. При постоянном пинге бот никогда не перейдет в спящий режим и будет просто продолжать работать.

Итак, нам нужно сделать еще две вещи, чтобы наш бот работал непрерывно:

  1. создать веб-сервер в repl.it и
  2. настроить Uptime Robot для непрерывного пинга веб-сервера.

Как создать веб-сервер в repl.it

Создать веб-сервер проще, чем вы думаете.

Для этого создайте в проекте новый файл с именем keep_alive.py .

Затем добавьте следующий код:

  из flask import Flask
из потокового импорта Thread

приложение = колба ('')

@app.route('/')
защита дома():
    return "Привет. Я жив!"

защита запуска():
  app.run(хост='0.0.0.0',порт=8080)

защита keep_alive():
    t = поток (цель = запуск)
    т.Начало()
  

В этом коде мы используем Flask для запуска веб-сервера. Сервер возвращает «Здравствуйте. Я жив». всем, кто его посещает. Сервер будет работать в отдельном потоке от нашего бота. Мы не будем обсуждать здесь все, так как остальное не имеет отношения к нашему боту.

Теперь нам просто нужен бот для запуска этого веб-сервера.

Добавьте следующую строку вверху main.py , чтобы импортировать сервер.

  from keep_alive import keep_alive  

Для запуска веб-сервера при main.py , добавьте следующую строку предпоследней прямо перед запуском бота.

keep_alive()

При запуске бота на repl.it после добавления этого кода откроется новое окно веб-сервера. Отображается URL-адрес веб-сервера. Скопируйте URL-адрес, чтобы использовать его в следующем разделе.

Как настроить робота Uptime

Теперь нам нужно настроить робота Uptime для проверки связи с веб-сервером каждые пять минут. Это заставит бота работать непрерывно.

Создайте бесплатную учетную запись на https://uptimerobot.com/.

После входа в свою учетную запись нажмите «Добавить новый монитор».

Для нового монитора выберите «HTTP(s)» в качестве типа монитора и назовите его как хотите. Затем вставьте URL-адрес вашего веб-сервера из repl.it. Наконец, нажмите «Создать монитор».

Готово! Теперь бот будет работать непрерывно, чтобы люди всегда могли взаимодействовать с ним на Repl.it.

Заключение

Теперь вы знаете, как создать бота Discord с помощью Python и постоянно запускать его в облаке.

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

Как создать чат-бота [Лучшее руководство 2021 года без кода]

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

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

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

Конечно, но это легче сказать, чем сделать… или нет?

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

Но времена изменились.

Благодаря развитию платформ без кода разработка чат-ботов стала более интуитивно понятной и, следовательно, более доступной для более широкого круга брендов и компаний.Если вы не уверены, вы всегда можете сами увидеть несколько крутых примеров чат-ботов, созданных с помощью Landbot!

В настоящее время вы можете не только создать чат-бота , но и сделать это всего за несколько минут . А еще лучше для более одного канала !

Без шуток.

Мы никогда не шутим с ботами!

Что такое чат-бот?

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

Существует два основных типа чат-ботов:

  • Чат-боты с обработкой естественного языка (NLP) (использующие искусственный интеллект) может сочетать НЛП с элементами, основанными на правилах)

Какой тип чат-бота вы научитесь создавать в этой статье?

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

  • Применимы ли в подавляющем большинстве случаев использования в бизнесе
  • Вот небольшой краткий обзор конечного результата:

    9000 твердо настроены на создание чат-бота NLP, вы также можете сделать это без кодирования, используя Dialogflow Landbot (API.ИИ) интеграция. Просто нажмите на ссылку, чтобы получить доступ к учебнику! (NLP на основе машинного обучения может быть лучшим выбором, если вы пытаетесь создать помощника для WhatsApp, обычных текстовых сообщений или другой платформы обмена сообщениями с более ограниченным пользовательским интерфейсом.)

    Готовы? Давайте узнаем, как сделать чат-бота быстро и без программирования.

    Как создать чат-бота без программирования за считанные минуты

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

    Landbot делает создание чат-бота легким, красивым и (без намека на преувеличение или предвзятость) веселым!

    Позвольте мне показать вам…

    1. Настройте учетную запись Chatbot Builder (быстро и бесплатно)

    Прежде всего, вам необходимо создать учетную запись в Landbot . Регистрация бесплатна и не требует данных кредитной карты .

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

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

    2. Нажмите «Создать чат-бота» и выберите свой канал.

    Как только вы это сделаете, конструктор ботов спросит вас о типе канала, для которого вы хотите создать своего бота. Вы можете выбирать между Интернетом (например, ваш сайт WordPress), Facebook Messenger, WhatsApp или любой платформой обмена сообщениями с API.

    Ваш браузер не поддерживает тег видео.

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

    ПРИМЕЧАНИЕ : Вас больше интересует Решение WhatsApp для вашего бизнеса ? Если вы решите создать бота WhatsApp , вы не сможете использовать все функции, предлагаемые Landbot, поскольку эта служба обмена сообщениями имеет ограниченный пользовательский интерфейс. Посетите наше руководство по дизайну диалогов WhatsApp для чат-ботов на основе правил , чтобы узнать, как обойти это .

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

    3. Оптимизируйте приветственное сообщение

    Создать чат-бота с нуля с помощью Landbot очень просто. Все дело в оптимизации диалоговых блоков по вашему выбору.

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

    Ваш браузер не поддерживает тег видео.

    В этом упражнении по созданию бота мы создадим бота, подписавшегося на вымышленный игровой онлайн-журнал «GameWorld».

    Поэтому я решил персонализировать свой приветственный блок следующим образом:

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

    4. Добавьте свою первую последовательность

    Чтобы добавить новую последовательность в приветственное сообщение, просто перетащите зеленую стрелку из заданного ответа .

    ПРИМЕЧАНИЕ: Каждая последовательность кнопок заканчивается фиолетовой кнопкой «ПО УМОЛЧАНИЮ». Эта кнопка видна только вам в конструкторе. Когда есть несколько кнопок для выбора, но поток остается неизменным независимо от этого выбора, просто перетащите стрелку из параметра по умолчанию, чтобы создать следующую последовательность (вместо перетаскивания по одной из каждого отдельного ответа).

    Поскольку наше приветственное сообщение имеет только одну кнопку выбора (так что на самом деле это не выбор 😁), не имеет значения, перетаскиваете ли вы стрелку с кнопки «Привет» или по умолчанию. После того, как вы перетащите стрелку, вы увидите меню вопросов и блоков интеграции .

    Ваш браузер не поддерживает тег видео.

    Выберите «Простое сообщение» в качестве нового типа блока и, чтобы отредактировать его, просто введите свое сообщение. И это ваша первая последовательность!

    5. Задать вопрос (имя)

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

    Как вы могли заметить, Landbot Builder предлагает широкий выбор типов вопросов . Это сделано для того, чтобы ускорить настройку ботов, поскольку они предварительно отформатированы для данных, которые они должны собирать. (например, вопрос об URL-адресе будет принимать только ответ с правильным форматом URL-адреса, а вопрос о номере телефона будет принимать только цифры).

    Итак, чтобы добавить блок «Имя» в поток бота, перетащите стрелку из последнего блока и выберите «ИМЯ».

    По мере визуализации блока «Имя» слева также появится его боковое окно настроек:

    Здесь вы можете персонализировать текст вопроса по умолчанию «Как вас зовут?» чем-то, что больше соответствует тону вашего бота/бренда.

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

    ПРИМЕЧАНИЕ: В конструкторе Landbot переменные в формате «@» + «имя переменной» служат для категоризации и хранения данных, собранных ботом.Вы можете использовать эти данные для персонализации внутри разговорного потока или экспортировать их во внешнюю базу данных. Вы можете использовать переменные по умолчанию или создать свои собственные.

    Благодаря сохранению имени пользователя под переменной, вы можете персонализировать взаимодействие уже на следующем шаге:

    6. Задавайте вопросы (выбор кнопки)

    Следующим шагом будет настройка первого истинного выбора кнопки. Итак, если вы еще этого не сделали, перетащите стрелку из блока имени и выберите «КНОПКИ».

    Блок кнопок работает аналогично блоку приветствия/сообщения.

    Вы можете разделить речь своего бота на различные пузыри или добавить визуальные средства, прежде чем предоставить пользователю выбор кнопки.

    Мы не могли удержаться и не добавить еще одну гифку!

    Ключевым моментом является то, что на этот раз кнопки поведут нашего потенциального клиента по разным путям:

    • Узнать больше о GameWorld               
    • Подписаться

    Если пользователь еще не готов подписаться, он может узнать больше о платформу и разрешать любые сомнения, которые у них могут возникнуть.Чтобы разделить поток на основе ответа пользователя, перетащите стрелку от кнопки «Узнать больше об GameWorld» и создайте следующий поток:

    Мы создали еще один блок сообщений, на этот раз включающий короткое видео, которое, как мы предполагали, будет быть более интересным способом узнать о журнале и встретиться с основателями! Тем не менее, наша главная цель — подписка, поэтому после этого небольшого вступления мы хотели, чтобы бот спросил еще раз:

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

    Если пользователь решит перейти к журналу, вы можете просто добавить специальный блок «ПРОЩАЙ»:

    Блок «Прощай» предлагает довольно много преимуществ. Помимо сообщения на прощание, вы можете:

    • Использовать кнопки обмена в социальных сетях
    • Предложить вариант возобновления разговора
    • Активировать автоматическое перенаправление URL и персонализировать сообщение о перенаправлении

    Благодаря сообщению, даже если пользователь этого не сделал подпишитесь, они могут проверить ваши социальные учетные записи или перейти прямо на ваш сайт, вообще ничего не нажимая.Что, если они нажмут «Подписаться»?

    В таком случае мы приведем их к потоку подписки… давайте построим его!

    7. Задать вопрос (электронная почта)

    Самым важным элементом данных при оформлении подписки, конечно же, является адрес электронной почты.

    Итак, наш первый вопрос о подписке будет именно таким.

    Вернитесь к нашему первому выбору кнопки («Узнать больше против подписки» и нарисуйте стрелку от опции «Подписаться»). @email переменная , она также проверяет формат электронной почты. Это означает, что бот не примет ответ пользователя, если не будет соблюден общий формат «xxx @ xxxx .xx ».

    После того, как вы настроили блокировку электронной почты, нарисуйте стрелку от опции «Подписаться 🚀» в ветке «Подробнее» беседы. Таким образом, независимо от того, решит ли пользователь подписаться сразу или после того, как узнает немного больше о журнале, он будет направлен через одну и ту же воронку подписки.

    8. Экспорт данных в таблицы Google

    Еще один секрет знания о том, как создать чат-бота, который облегчит вашу жизнь, — это интеграции !

    Итак, теперь, когда у нас есть самая важная часть данных, мы хотим экспортировать ее в нашу базу данных Google Sheets. Именно эти типы интеграций создают мощного виртуального помощника! Для этого сначала вам нужно настроить специальную электронную таблицу на вашем Google Диске:

    После этого вернитесь на платформу создания чат-ботов Landbot, перетащите зеленый стрелка из блока электронной почты и выберите «GOOGLE SPREADSHEETS» в меню:

    Во-первых, вам нужно подключить свой Google Диск к Landbot.

    Нажмите «ДОБАВИТЬ УЧЕТНУЮ ЗАПИСЬ» и соедините два инструмента вместе. Затем в раскрывающемся меню введите:

    • Учетная запись (адрес электронной почты), с которой вы хотите соединить своего бота.(Если вы связали свою учетную запись Landbot с более чем одной учетной записью, вы увидите все ранее добавленные учетные записи в этом раскрывающемся списке)
    • Электронная таблица, куда вы хотите отправить информацию для отправки информации

    Далее вам будет предложено «Выбрать действие», которое вы хотите выполнить:

    • Создать новую строку (Экспорт)
    • Обновить существующую строку (Экспорт)
    • Получить данные из электронной таблицы и внесите их в беседу (Импорт)

    Поскольку на этом этапе вы будете создавать новую строку для каждого нового абонента, выберите «Вставить новую строку».

    После этого все, что вам нужно сделать, это соединить имена столбцов с переменными, которые вы хотите сохранить в этих столбцах:

    Нажмите СОХРАНИТЬ, и настройка интеграции завершена, настоящий кусок пирога!

    9. Задать вопрос (кнопки с картинками)

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

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

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

    Ваш браузер не поддерживает тег видео.

    После того, как вы закончите загрузку изображений, прокрутите редактор вниз и создайте переменную для хранения этого ответа:

    Нажмите «СОХРАНИТЬ». Разве создание интерактивного чат-бота не приносит удовольствия?

    10.Задать вопрос (выбор изображения, также известный как «Карусель»)

    Еще один отличный тип вопроса в платформе разработки чат-ботов Landbot — это блок выбора изображения, который позволяет вам предлагать выбор изображения в виде карусели вместо кнопок .

    Нарисуйте стрелку от кнопки «По умолчанию» вашего последнего блока и выберите «ВЫБОР ИЗОБРАЖЕНИЯ» в меню.

    Чтобы его настроить, необходимо настроить три основных поля:

    • Вопрос
    • Ответы (изображения)
    • Переменная для хранения ответа

    Мы решили использовать этот тип вопроса, чтобы спросите о типе игр, в которые пользователь любит играть больше всего.

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

    И последнее, но не менее важное: не забудьте обновить переменную, чтобы сохранить ответы пользователей таким образом, чтобы их было легко идентифицировать:

    Вот как ваши усилия отразятся на внешнем интерфейсе:

    Ваш браузер не поддерживает тег видео.

    Кто бы мог подумать, что научиться создавать чат-бота с карусельным колесом будет так просто?

    11. Задайте вопрос (множественный выбор)

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

    Для настройки вопроса с множественным выбором:

    • Создать еще один блок кнопок и кнопки ответов  
    • Нажмите на три точки в правом верхнем углу  
    • Прокрутите редактор вниз и активируйте «Множественный выбор!
    • Не забудьте настроить переменную ответа

    Вот и все. Теперь ваш бот сможет предлагать пользователям несколько вариантов ответа:

    12. Задать вопрос (открытый)

    Иногда кнопки не могут охватить все, и вам нужно дать пользователю пространство для свободного выражения своего мнения.

    Чтобы предоставить пользователю пространство для записи и неограниченного ввода, вы можете использовать блок вопросов «ТЕКСТ», который просто предлагает пустое поле для заполнения пользователем.

    Например, один из наших последних вопросов в подписке был «Где ты слышал о нас? мы хотели быть уверены, что зафиксировали все ответы. Поэтому мы создали кнопку с опцией «Другое» и подключили ее к блоку открытых вопросов, чтобы узнать, что имел в виду этот другой.

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

    13. Пусть пользователь оценит опыт

    Хотите знать, как у вас дела?

    Для этого Landbot предлагает блоки «РЕЙТИНГ» и «МАСШТАБ» , два ключевых компонента удивительного робота-опросника.

    Нарисуйте стрелку из последнего вопроса о кнопках, а также подвопроса и выберите в меню блок «РЕЙТИНГ». 14Обновить таблицу Google с новыми данными

    Помните, как мы отправили имя пользователя и адрес электронной почты на наш Google Диск? Ну а теперь пришло время обновить остальную информацию.

    Итак, перетащите зеленую стрелку с кнопки «По умолчанию» последнего блока и снова используйте блок интеграции Google Таблиц.

    Здесь настройка практически такая же, за исключением того, что вам нужно установить действие «Обновить строку» , так как мы хотим, чтобы бот обновил ранее созданную строку.

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

    После столбца ссылки укажите поля, которые вы хотите обновить, выбрав столбец и переменную, соответствующие этому столбцу, как и раньше.

    Это означает, что бот проверит колонку «Электронная почта», найдет совпадение с пользователем и заполнит остальную информацию.

    15. Создание сегментированных списков рассылки в Mailchimp

    Создавая бота, убедитесь, что он делает все возможное, чтобы облегчить вашу жизнь.

    Например, если вы собираете электронные письма, попросите бота экспортировать эти электронные письма и другие пользовательские данные непосредственно в Mailchimp (или любую другую почтовую службу, использующую Zapier).

    Мы хотели, чтобы наш бот подписки GameWorld не только экспортировал данные в Mailchimp, но и отправлял их в нужную группу в списке рассылки, чтобы упростить процесс сегментации.

    Итак, перед интеграцией с Mailchimp мы создали несколько условных логических блоков . Эти блоки позволяют настроить диалоговые логические механизмы в стиле «ЕСЛИ ЭТО, ТО ТО».

    в построителях Landbot, условия, которые вы можете использовать:

    • равны
    • , не равны
    • , содержит
    • , больше
    • больше
    • меньше
    • установлено

    , поскольку мы хотели, чтобы бот до сегмента абонентов в зависимости от их игрового устройства, мы настроили условие следующим образом:

    Повторили настройку для каждого из возможных устройств.

    Если бот обнаружит, что условие верное, он направит информацию в Mailchimp через зеленый выход . Если нет, следует проверить следующее условие и следующее, используя розовый выход . Теперь интеграция с Mailchimp!

    Перетащите стрелку из первого условия и нажмите «MAILCHIMP» в меню. Свяжите свою учетную запись с Landbot.

    И настройте следующее в соответствии с цветовыми кодами на изображении:

    • Желтый:  Электронная почта, связанная с учетной записью  
    • Зеленый : Список рассылки, в который вы хотите добавить адрес электронной почты  
    • Розовый Группа в этом списке рассылки (если применимо — в нашем случае группа «Устройство») 
    • Темно-синий:  @variable, под которой вы сохраняете адрес электронной почты пользователя 
    • Светло-синий:  Другие значения, которые вы хотите загрузить ( е.например, имя, день рождения и т. д.)

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

    ПРИМЕЧАНИЕ: Этот диалоговый помощник использует только интеграцию с Google Spreadsheets и Mailchimp. Тем не менее, Landbot Builder предлагает широкий спектр аналогичных простых в настройке интеграций для расширения возможностей ваших ботов, включая Slack и уведомления по электронной почте, Stripe, Calendly, Airtable, Zoom, Salesforce, и Zapier который подключается к сотням других приложений!

    16.Предварительный просмотр

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

    Для этого нажмите кнопку «ПРОСМОТР» в правом верхнем углу пользовательского интерфейса.

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

    Вы даже можете протестировать бота в мобильной версии!

    Ваш браузер не поддерживает тег видео.

    Менее чем за полчаса мы создали работающую диалоговую подписку! «Сложная» часть уже позади 😉

    17. Настройте брендинг вашего чат-бота, чтобы сделать его более удобным

    Итак, мы создали чат-бота за считанные минуты .

    Что теперь?

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

    Поскольку вы преодолели все трудности создания бота с нуля, он лучше соответствует фирменному стилю и цветовой гамме вашего веб-сайта!

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

    Чтобы вызвать элементы дизайна, нажмите «Дизайн» в меню заголовка.

    Это откроет вам целый новый мир возможностей! С левой стороны вы увидите большой список функций настройки:

    • Шаблоны дизайна : Позволяет выбрать тему из уже созданных привлекательных шаблонов Landbot.Они пригодятся, когда вам нужно относительно быстро вывести бота в мир.
    • Цвета и фон : дает вам полный контроль над цветовой схемой вашего бота; поэтому здесь вы сможете настроить его.
    • Логотип и аватар:  Позволяют изменять логотип и текст, которые появляются в заголовке чата, а также настраивать аватар бота.
    • Шрифты:  Естественно, здесь вы можете настроить шрифт своего бота, и это здорово, особенно если определенный шрифт является частью вашего бренда.
    • Расширенный:  Что ж, если вам посчастливилось немного знать CSS или иметь на борту программиста, это пространство, которое позволяет вам вносить наиболее существенные изменения - единственным ограничением является ваше творчество (и ваши навыки программирования). 🙈)

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

    ПРИМЕЧАНИЕ. Обязательно нажмите ПРИМЕНИТЬ , чтобы сохранить изменения в каждом из разделов проекта.И, когда вы будете удовлетворены, не забудьте нажать СОХРАНИТЬ в правом верхнем углу, чтобы обновить бота.

    18. Разместите чат-бота на своем веб-сайте (или создайте целевую страницу для бота!)

    Теперь, когда наш Landbot претерпел необходимый «бренд-лифтинг», мы можем продемонстрировать его миру и начать собирать подписчиков и потенциальных клиентов. Извините, что повторяюсь, но (еще раз) платформа чат-ботов Landbot делает этот процесс очень простым!

    Вернуться в приложение Landbot Нажмите «ПОДЕЛИТЬСЯ» на панели навигации вверху.Здесь вы можете найти четыре различных варианта встраивания :

    1. Полная страница : бот вовлекает пользователя и занимает весь экран
    2. Всплывающее окно: определенное количество секунд)
    3. Встроить : Отобразите своего бота как встроенную функцию в одном разделе вашего веб-сайта.
    4. Живой чат:  Отображение вашего бота в виде сообщения в чате в углу экрана пользователя.

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

    Если вы готовы разместить своего нового Landbot на своем веб-сайте, у вас есть два варианта:

    1. Скопируйте и вставьте код в раздел на каждой странице  на вашем веб-сайте, на котором вы хотите, чтобы бот работал
    2. Отправьте инструкции по внедрению своему разработчику по телефону

    . С другой стороны, если вы просто хотите создать временную целевую страницу и не так сильно заботитесь об URL-адресе, выберите параметр «Поделиться ссылкой». в меню слева.Здесь вы найдете автоматически сгенерированный URL-адрес чат-бота Landbot, который вы можете указать в любом месте на своем веб-сайте, в электронном письме или поделиться им в социальных сетях.

    Примечание. У вас есть сайт на WordPress? Тогда обязательно ознакомьтесь с нашим адаптированным руководством по установке чат-бота для вашего сайта WordPress!

    Вы научились создавать чат-бота?

    Мы очень на это надеемся!

    Возможно, вы думали, что искусство создания интерактивных чат-ботов намного сложнее, чем это. Но в этом вся хитрость.Эффективные вещи не всегда должны быть сложными.

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

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

    Неплохо!

    Разговорные помощники стали чрезвычайно популярным и эффективным маркетинговым инструментом.И, что еще лучше, они больше не находятся вне вашей досягаемости!

    Например, Landbot позволяет вам построить и создать несколько ботов за очень короткое время и по относительно низкой цене. Его визуальный интерфейс позволяет вам освоить даже навыки кодера, такие как интеграция веб-перехватчиков. И хотя существует множество платформ, немногие предлагают такой интуитивно понятный интерфейс, который обслуживает несколько каналов, включая веб-, а также платформы для обмена сообщениями, такие как WhatsApp и Facebook Messenger.

    Простых чат-ботов не должно быть сложно создавать или контролировать.

    Инструменты чат-ботов без кода, такие как Landbot, делают это возможным.

    Начните исследовать экосистему Landbot уже сегодня!

    В любом месте/в любое время

    Попробуйте бесплатно

    Как сделать Discord Bot [учебник 2022]

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

    Боты есть почти для каждой задачи, но еще не все сделано. Если у вас есть идея для бота Discord, который поможет вам или миллионам других пользователей, вам сначала нужно научиться , как его создать . Это может показаться пугающим, но это руководство покажет вам, как это сделать!

    Имейте в виду, что для создания бота требуются хотя бы базовые знания в области кодирования, особенно с использованием Python или JavaScript. Однако, если вы будете следовать этому руководству , можно создать бота без особых знаний.

    вещей, которые вам понадобятся

    Прежде всего, вам нужно подготовиться, прежде чем вы сможете приступить к программированию всего бота.

    Главное условие — владеть хотя бы базовыми знаниями Python или JavaScript (в этой статье мы будем придерживаться JS). Вам также понадобится какой-нибудь редактор кода. Если вы используете Windows , ваши варианты включают Notepad++, Atom, Sublime Text и другие. Пользователям Mac следует рассмотреть возможность использования эспрессо.

    Вам также необходимо установить настольное приложение Discord и Node.js.

    Установить Node.Js

    Прежде чем продолжить, мы рекомендуем установить Node.js как можно скорее. Без его установки невозможно будет выполнить другие шаги этого руководства.

    Загрузите его с официального сайта и запустите программу установки . Процесс установки так же прост, как и любое другое программное обеспечение.

    Следуйте инструкциям, затем откройте терминал (CMD в Windows) и введите:

      узел –в.  

    Эта команда подтвердит, что Node.js успешно установлен на ваш компьютер. Он должен сообщать об установленной версии Node.js. В противном случае он вернет ошибку.

    Установите Discord и создайте учетную запись

    Поскольку вы читаете эту статью, у вас, вероятно, уже установлен Discord на вашем компьютере и активная учетная запись. Это еще одна важная часть процесса, поэтому мы не можем ее пропустить .

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

    Создание сервера

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

    Для этого просто щелкните значок + в левой части настольного клиента, прямо под Home .

    Дайте вашему тестовому серверу имя и создайте его, после чего вы готовы продолжить.

    Создание нового приложения

    Пришло время создать дом для вашего бота. Это делается на портале разработчиков Discord . Перейдите на https://discord.com/developers/applications/me и войдите в свою учетную запись. Здесь вам нужно будет опубликовать своего бота, чтобы он работал в Discord.

    Если вы впервые создаете бота, на панели управления ничего не должно быть. Нажмите New Application , дайте своему боту имя и щелкните вкладку Bot слева.Нажмите Добавить бота, , появится пугающая подсказка. Нажмите Да, сделайте это!

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

    Создание бота

    Мы подошли к самой важной части процесса: программированию настоящего бота.

    Первый шаг — создать новый проект/папку, в которой будут храниться файлы бота. Придумайте имя, откройте cmd/terminal и введите:

    .
      mkdir «имя вашего бота»  

    (напр.mkdir базовый-дискорд-бот).

    Теперь вам нужно перейти в эту только что созданную папку. Это можно сделать с помощью команды cd . В нашем примере нам нужно будет ввести:

      cd базовый-дискорд-бот  

    Далее вам понадобится файл пакета .json . Мы можем получить это, инициализировав проект командой:

      нпм инициализация –y.  

    Вам также понадобится библиотека для Discord API, известная как discord.js, которую вы можете установить с помощью команды:

      npm установить дискорд.js.  

    В качестве альтернативы используйте:

      npm установить --save discord.js dotenv  

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

    Чтобы создать этот файл с помощью Windows CMD, вы можете использовать команду:

      звонок >> .env
      

    В качестве альтернативы для систем на основе UNIX используйте команду:

      сенсорный .env  

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

    На той же странице, которую мы посетили ранее, перейдите на вкладку Бот. Нажмите «Копировать» или «Нажмите, чтобы показать токен». Эти опции должны быть прямо под названием бота и его иконкой.

    Просмотр вашего токена на портале разработчиков Discord.

    Скопировав токен в буфер обмена, откройте только что созданный файл token.env . Перейдите в папку с ботом basic-discord и откройте файл в своем любимом редакторе кода.В нашем примере мы используем Atom .

    Добавить:

      Discordbot_Token="вставьте сюда токен бота"  

    Вернитесь в командную строку и введите:

      звонок >> discordbot.js  

    Перейдите в папку проекта, найдите только что созданный файл .js и откройте его. Это будет основа вашего бота . Если вы программируете без каких-либо предварительных знаний JS, обычно лучше использовать чужой код.

    Вот шаблон для Discord бота. Кредит для renesansz!

    Примените этот шаблон к вашему bot.js, сохраните и выйдите. Теперь нам нужно вызвать бота через командную строку. Вы можете сделать это, набрав:

      Узел discordbot.js  

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

    Если появляется ошибка, убедитесь, что вы добавили токен в файл .env и повторите шаги .

    Добавление вашего бота на сервер

    Наконец-то пришло время проверить, принесла ли вся ваша тяжелая работа положительные результаты.

    Снова вернитесь на портал разработчика и откройте вкладку OAuth3 . Здесь вы можете настроить различные разрешения.

    В Scopes единственное, что вам нужно будет выбрать, это bot.

    Scopes

    Прокрутите немного вниз и посмотрите на опции Bot Permissions . Здесь вы решите, какие функции/полномочия будут у бота на вашем сервере.

    Если это модерирующий бот, он обычно имеет права, необходимые для удаления, блокировки и управления участниками.

    Поскольку сейчас мы создаем что-то довольно простое, мы предлагаем выбрать Чтение истории сообщений и Отправить сообщения . Как только вы освоитесь и узнаете, как использовать кодирование JS, вы можете перейти к чему-то более продвинутому.

    Bot Permissions

    Прокрутите назад до Scopes и скопируйте ссылку, отображаемую прямо под параметрами. Эта ссылка перенаправит вас в Discord, где вы сможете подключить своего бота к своему серверу. Разрешить подключение .

    Добро пожаловать, бот!

    Теперь вернитесь к проекту и отредактируйте discordbot.js , потому что мы еще не добавили ни одной команды. Мы хотим добавить кусок кода, который заставит бота отвечать нам в Discord .

    Мы еще раз взглянем на шаблон renesansz для простой команды ответа.

    После добавления этой части кода весь файл discordbot.js должен выглядеть следующим образом:

    Код Discordbot.js

    Перезапустите ваш терминал/командную строку, чтобы отменить предыдущий экземпляр discordbot.js. Вы также можете использовать сочетание клавиш Ctrl + C , но имейте в виду, что оно работает не у всех, особенно в Windows cmd. Вернитесь в папку проекта и используйте тот же код:

    .
      узел discordbot.js  

    Теперь вы вошли в обновленный .js. Пришло время вернуться к настольному приложению Discord и протестировать то, что вы создали.

    В этом примере бот должен ответить на наше сообщение «Привет!» с сообщением «До свидания!»

    Давайте проверим!

    Работает! Ваш новый бот тоже должен работать!

    Если вы видите именно этот результат, поздравляем.Вы создали своего собственного бота Discord, которого вы можете превратить во что угодно!

    Создание чего-то более продвинутого потребует гораздо больше времени и усилий. Вам также необходимо изучить и глубже понять JavaScript.

    Тем не менее, теперь вы знаете основы, и у вас есть основа для продолжения. Выходи и начинай творить!

    DIY (Часть 1): Как создать собственного бота .NET | Олег Романюк

    Вы много слышали о ботах, искусственном интеллекте и машинном обучении.Возможно, вы задавались вопросом, насколько практичным является файл . NET — это новая модная технология, и вы должны принять ее. В общем, одна вещь, которую вы должны знать о ботах и ​​обо всех технологиях, которые их расширяют. Технологии ботов никуда не денутся! Основная причина: они дешевле, чем у вашего местного рабочего парня. Если вам нужны доказательства, ознакомьтесь с нашим замечательным постом в блоге — Боты с искусственным интеллектом готовы выполнять ваши задания по тестированию или просто просмотрите веб-страницы.

    Боты сэкономят вам деньги. И, несмотря на всю болтовню о высоких технологиях в СМИ, сделать их не так уж и сложно. Мы расскажем вам, как создать собственного бота .NET за 6 простых шагов и 2 коротких сообщения в блоге:

    Сделай сам (Часть 1)

    1. Введение в Bot Framework для .NET
    2. Создайте свой первый . NET Bot
    3. Сделайте бота умнее

    Сделай сам (Часть 2)

    1. Оживи своего бота
    2. Подключи бота к каналам
    3. Дай своему боту голос
    4. .Когда мы используем слово «бот», мы имеем в виду приложение, с которым пользователи взаимодействуют в диалоговом режиме. Вы всегда можете создать подходящего бота с нуля, но давайте оставим это цифровым пещерным людям. В настоящее время существует структура для всего программного обеспечения, особенно для ботов. Более того, платформа ботов .NET решит некоторые из ваших основных проблем, предоставив :

      • Базовый ввод-вывод (обработка ввода-вывода)
      • Языковые и диалоговые навыки
      • Связь с пользователями
      • Языковая поддержка

      .NET bot framework состоит из следующих инструментов и функций:

      • Bot Builder (с SDK для .NET)
      • Bot Framework Emulator
      • Портал разработчика
      • Bot Connector Service
      • Channel APIs
      • 9006 ? Так просто, вы не поверите. Сначала у вас есть SDK Bot Builder для фактического кодирования вместе с порталом разработчика для дополнительных служб, таких как API, базы данных, Azure, машинное обучение и т. д.Кроме того, есть эмулятор Bot Framework для тестирования вашего кода.

        Second , у вас есть Bot Connector Service для управления обменом сообщениями ввода-вывода

        Third , есть целая коллекция API каналов, включая социальные сети. Если вы хотите добавить бота в канал, который не указан (изображение ниже), помните, что существует специальный конструктор API. Другими словами, у вас есть все необходимое для вашего первого бота .NET.

        Ладно, хватит теории! Приступим к делу.Выполните шаги:

        Шаг 1 . Установите SDK Bot Builder с помощью диспетчера пакетов Nuget

        Шаг 2 . Установите шаблон приложения Bot в Visual Studio

        Шаг 3 . Используйте исходный код с GitHub, чтобы получить готового бота

        Шаг 4 . Используйте эмулятор Bot Framework, чтобы протестировать своего бота.

        Последним шагом будет защита только что созданного бота. Для этого потребуется несколько дополнительных мер. Однако защита хорошего программного обеспечения всегда окупается.

        Существует несколько правил правильной защиты бота:

        • использовать только конечную точку HTTPS
        • Включить проверку подлинности Bot Framework, зарегистрировав бота для получения идентификатора приложения Microsoft и пароля
        • указать идентификатор приложения и пароль в файле web.config вашего бота (см. совет)
        • используйте атрибут [BotAuthentication], чтобы указать учетные данные для аутентификации при использовании Bot Builder SDK для .NET.Вы добавляете идентификатор приложения Microsoft в соответствующее поле. Дождитесь начальной аутентификации. Добавьте вновь сгенерированный BotID в соответствующее поле и в конфигурацию (дескриптор бота). Вот и все!

          Все еще озадачены? Нажмите здесь, чтобы просмотреть руководство Microsoft о том, как создать своего бота.

          Более того, в своей Bot Framework Microsoft предлагает замечательный глоссарий всех понятий, которые могут быть незнакомы: https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-concepts .

          Будем надеяться, что к концу главы у вас все готово для создания вашего первого бота.Если это не так, обращайтесь ко мне — автору статьи — Олегу Романюку @ Linkedin сюда. Я позабочусь о том, чтобы у вас был создан правильный бот .NET!

          Поздравляем — вы зашли так далеко. Ваш бот жив, и вы гордый бототец. Однако бот по-прежнему примитивен и практически бесполезен. На данный момент Microsoft предоставляет целую кучу решений для улучшения работы вашего бота, в частности, 5 различных API для понимания языка.

          Не знаете, что выбрать? Не паникуйте.Первый из них самый полезный. Имя ЛУИС. LUIS (Интеллектуальная служба понимания языка) может обрабатывать естественный язык с использованием предварительно созданных или специально обученных языковых моделей. У него есть куча преимуществ, которые вас вполне устроят (изображение ниже).

          Без дальнейших представлений давайте перейдем к чертежной доске и спланируем ваше приложение LUIS. Какова цель вашего бота и вашего бизнеса? Как вы видите, как ваш бот помогает вашим клиентам?

          Шаг 1.Идентифицируйте свой домен — то, как работает LUIS, обычно строится вокруг темы, относящейся к конкретному домену. Например, у вас есть приложение для продажи билетов или приложение для отслеживания вашей физической формы. Оба они будут приложениями в разных доменах, и для них потребуются разные настройки LUIS. Кроме того, для вашего удобства здесь есть 20 готовых доменов.

          Шаг 2. Определите свои намерения — Намерения — это ключевые слова, объясняющие, чего хочет ваш клиент. Если ваш клиент пишет «купите билеты», очевидно, это то, что он хочет.Если фитнес-бот где-то в разговоре увидит слово «пульс», скорее всего, клиенту нужно что-то знать о своем пульсе. Проще говоря, составьте список всех ключевых слов, которые ваши клиенты могут использовать в разговоре с вашим ботом, и свяжите их с соответствующим действием со стороны бота.

          Шаг 3. Определите свои объекты — Чтобы забронировать рейс, вам нужна некоторая информация, такая как пункт назначения, дата, авиакомпания, категория билета и класс обслуживания — это объекты.Вы должны добавить их, чтобы действительно выполнить намерение.

          • Простые объекты — Простые объекты описывают одно понятие.
          • Иерархические сущности — Иерархическая сущность представляет категорию и ее элементы.
          • Составные объекты — Составной объект состоит из других объектов, образующих части целого.
          • Готовые объекты — LUIS предоставляет предварительно созданные объекты для распространенных типов, таких как Number, которые можно использовать для количества билетов в заказе билетов.
          • Объекты списка — Объект списка — это явно указанный список значений. Каждое значение состоит из одного или нескольких синонимов. В приложении для путешествий вы можете создать сущность списка для представления названий аэропортов.

          подключили приложение LUIS? Уверены, какие намерения и сущности вы будете использовать? Идеально! И не беспокойтесь, если вы не уверены во всем, вы сможете изменить настройки позже. Пришло время создать настоящее приложение LUIS и сделать своего бота умнее!

          Если у вас уже есть четкий план для вашего LUIS, часть создания не будет сложной и займет максимум 10 минут.

          Желаю вам удачи в создании и использовании вашего бота. Если вам нужна дополнительная помощь с чем-либо, написанным выше, или с документацией для .NET Bot Framework, вы можете обратиться ко мне в Linkedin — Олег Романюк, менеджер по маркетингу @ DevCom . Так же, если все написанное выше кажется вам сверхсложным, или у вас просто нет времени заниматься этим самостоятельно, вы всегда можете обратиться по адресу к DevCom с запросом сюда . О, и не забудьте заглянуть к нам, это прекрасное развлечение.NET-бот с возможностями машинного обучения. Наконец, спасибо, что посетили блог DevCom и берегите себя!

          Продолжить чтение Сделай сам (часть 2): как создать собственного бота .NET

          Ссылка на исходную запись в блоге . Не стесняйтесь подписаться.

          Автор: Олег Романюк , менеджер по маркетингу @ DevCom

          Что такое пользовательские боты и как их настроить?

          Пользовательские боты — это дополнительная функция, которую можно разблокировать при обновлении учетной записи.Пожалуйста, свяжитесь с [email protected] , чтобы узнать больше.

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

          Пользователям внутри приложения необходимо обновить SDK до версии 7.1.0+ и включить регистрацию проблем в диалогах, чтобы использовать настраиваемых ботов с SDK. Пожалуйста, ознакомьтесь с часто задаваемыми вопросами «Что такое регистрация проблем разговора и как ее настроить?» настроить это, если вы еще этого не сделали.

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

          Обратите внимание: вы не сможете редактировать бота после того, как вы его опубликовали, и если вы и другой администратор вашей команды попытаетесь одновременно изменить пользовательского бота, эти изменения могут не сохраниться. По этим причинам мы рекомендуем спроектировать идеальный поток Custom Bot за пределами панели инструментов, прежде чем создавать его, чтобы обеспечить плавную реализацию.

          1. Создайте пользовательского бота
          2. Добавьте шаги
          3. (Необязательно) Шаги ответвления
          4. Сделайте запрос API Шаг
          5. Добавьте часто задаваемые вопросы на основе ИИ в диалоги с ботами
          6.Link Steps
          7. Интеграция пользовательских ботов в рабочий процесс
          8. Проверки системы в пользовательских ботах


          1. Создание пользовательского бота

          Чтобы настроить нового пользовательского бота, перейдите на страницу настроек.

          Перейдите на вкладку «Боты» в разделе «Рабочие процессы».

          На появившейся странице дважды проверьте, что вы находитесь на вкладке «Пользовательские боты» на верхней панели навигации, а затем нажмите «Новый бот» .

          В появившемся всплывающем окне вас попросят указать имя и псевдоним для вашего бота.

          Имя — это то, как ваша команда будет идентифицировать вашего бота, и оно должно быть уникальным — мы рекомендуем придумать интуитивно понятное имя, которое поможет вашей команде понять, для чего нужен этот бот.

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

          Нажмите кнопку «Создать и настроить бота», чтобы настроить действия бота.


          2. Добавить шаги

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

          Для пользовательских ботов можно настроить следующие типы шагов:

          • Получите информацию от пользователя , чтобы предложить пользователю предоставить дополнительную информацию, чтобы помочь решить его запрос.Вы можете собирать текст, адрес электронной почты, номер, дату, ответ Да/Нет или предложить пользователю выбрать один из вариантов списка. Все эти типы данных могут быть сопоставлены с соответствующими полями Custom Issue.
          • Отправьте сообщение , чтобы сообщить о статусе проблемы и о том, когда им следует ожидать ответа от вашей команды.
          • Ветвь на основе настраиваемых полей задачи для добавления логики того, что бот должен делать на основе ответа пользователя. Например, если вы спросите пользователя, старше ли ему 18 лет, вы можете настроить различные действия для бота в зависимости от того, как пользователь отвечает.Обратите внимание, что этот тип шага доступен только для параметров числа и даты.
          • Сделайте запрос API для отправки и получения ответов. После создания API вы можете использовать Bot Builder для использования API для отправки и получения ответов.
          • Отправка часто задаваемых вопросов с использованием ИИ в любом месте диалогового потока бота с помощью пользовательских ботов. Прежде чем назначать бота, убедитесь, что есть текстовое сообщение от пользователя. Дополнительные сведения о часто задаваемых вопросах на основе ИИ см. в разделе Добавление часто задаваемых вопросов на основе ИИ в диалоги с ботами .
          • Завершить поток беседы , чтобы бот вышел из беседы. На этом шаге вы можете добавить сообщение бота, чтобы сообщить пользователю, что произойдет дальше, а также переназначить эту проблему другому боту, очереди или агенту, пометив ее как решенную или отклоненную, или обновить поля или теги настраиваемых задач.

          Ниже приведены примеры настройки каждого из этих типов шагов.

          На странице бота нажмите кнопку «Добавить первый шаг», чтобы начать добавлять шаги для этого бота.

          В появившемся всплывающем окне выберите Тип шага. На первом шаге вы можете выбрать любой вариант, кроме выхода из разговора.

          Если вы выберете «Получить информацию от пользователя», вы сможете добавить сообщение для пользователя, чтобы предоставить контекст о том, какую информацию вам нужно собрать.

          Добавьте имя для вашего шага. Это должно быть интуитивно понятно вашей команде поддержки при просмотре бота.

          При получении информации от пользователя используйте поле Bot Message, чтобы указать контекст информации, которую вы хотите собрать.Например, можно задать вопрос, на который пользователь ответит, сделав выбор.

          Вы можете разрешить своим конечным пользователям отвечать на вопросы в любом из следующих форматов:

          • Текст
          • Электронная почта
          • Номер
          • Дата
          • Список опций
          • Да/Нет

          Вы также можете сопоставить ответ пользователя с одним из раскрывающихся настраиваемых полей задачи. Если вам нужно сначала настроить раскрывающееся настраиваемое поле задачи для работы с этим ботом, ознакомьтесь с разделом Как создать новое настраиваемое поле задачи?

          При настройке списка параметров для пользователя «параметры ответа пользователя» будут отображаться по-разному в зависимости от того, включена или отключена функция «Сопоставить ответ пользователя с раскрывающимся настраиваемым полем задачи».Если вы включили его, вы сможете выбрать настраиваемое поле задачи для сопоставления с ответом пользователя.

          Примечание : заполнители поддерживают все типы CIF при создании сообщения в следующих шагах бота:

            • Получить информацию от пользователя
            • Отправить сообщение
            • Завершение потока разговора

          Если вы выберете раскрывающееся поле «Настраиваемое поле задачи», вам также будет предложено выбрать до 10 соответствующих значений, связанных с ним, чтобы добавить их в качестве параметров для выбора вашим пользователем.

          Если этот переключатель отключен, вы сможете добавить до 10 вариантов ответа, которые пользователь может выбрать при ответе боту.

          Вы также можете указать, хотите ли вы разрешить пользователям пропускать этот шаг, включив соответствующий переключатель.

          Когда вы добавили все параметры, необходимые для этого шага, нажмите « Сохранить ». Вы вернетесь на страницу потока беседы, где сможете добавить дополнительные шаги.Вы также можете создавать новые шаги в процессе связывания шагов, как подробно описано в разделе «связать шаги».


          3. (Дополнительно) Ступени разветвления

          Возможно, вы захотите, чтобы ваш бот выполнял разные действия в зависимости от ответа пользователя на вопрос.

          В этом примере вы можете начать разговор с проверки того, что вашему пользователю больше 18 лет. Для этого мы сначала выберем «Получить информацию от пользователя», чтобы задать вопрос.

          Поскольку вариант ветвления для шага «Получить информацию от пользователя» (ветвь на основе ответа пользователя) доступен только для вопросов, ответы на которые представлены в формате даты или числа, мы попросим пользователя выбрать свой возраст Задайте интуитивно понятное имя шага, затем используйте сообщение бота, чтобы предложить пользователю выбрать свой возраст.

          Установите формат ответа пользователя на «число», затем включите настраиваемые поля задачи и выберите соответствующее настраиваемое поле задачи для этого шага.

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

          Щелкните этот значок, чтобы открыть страницу «Ветвление на основе ответа пользователя». На этой странице нажмите кнопку «Создать первое правило».

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

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

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

          Отсюда вы сможете связать шаги с условными параметрами, используя значок ссылки.Узнайте, как связать шаги в следующем разделе.


          4. Сделать запрос API Шаг

          После создания API вы можете использовать Bot Builder для использования API для отправки и получения ответов. Ниже приведены новые возможности Bot Builder:

          .
          • Сделать запрос API
          • Использование ответов в сообщениях бота
          • Использовать ответы на ветку
          • Используйте ответы для создания списка параметров

          Примечание. Дополнительные сведения о настройке запроса API см. в разделе Настройка внешних API с пользовательскими ботами.

          Чтобы сделать запрос API и получить ответы, необходимо выполнить следующие шаги.

          В Bot Builder выберите параметр Сделать запрос API.

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

          Протестируйте настроенный API, чтобы убедиться, что он работает правильно.

          После успешного выполнения теста укажите значения параметров, которые вы хотите передать с запросом.Вы можете выбрать значение из доступного раскрывающегося списка Step Output. При необходимости вы также можете ввести любые значения вручную.


          На следующем экране отображается значение параметра с запросом.

          При создании шага API-запроса он будет содержать ветви Успеха и Неудачи.

          Вы можете использовать информацию из ответа API и вставить ее с помощью заполнителя, чтобы отобразить ее клиенту.

          Для ветки «Успех» на шаге «Создать запрос API» можно определить правила на основе информации из ответа API — это поддерживается для типов данных — числа, логические значения и даты.

          Вы можете использовать информацию из ответа API и создать список вариантов для выбора пользователем. Например, может отображаться список заказов или платежей.

          На следующем экране отображается информация от пользователя.


          5. Добавление часто задаваемых вопросов с использованием ИИ в диалоги с ботами

          Администраторы Helpshift могут добавлять часто задаваемые вопросы на основе ИИ в качестве шага в рабочем процессе Custom Bot. Например, предположим, что типом задачи является «Возврат», и вам нужно назначить задачу боту, инициирующему возврат, чтобы инициировать процесс возврата.Администратор Helpshift может включать следующие сегменты в рабочий процесс Custom bot:

          .
          • Для VIP-пользователей не показывать часто задаваемые вопросы и назначать проблему в специальную очередь
          • Для других сначала показать часто задаваемые вопросы, а затем назначить боту/агенту

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

          Сегмент Автоматизация нового выпуска Пользовательский бот
          Тип выпуска — возврат Фильтр > Тип проблемы равен возврату

          Назначить > Бот инициации возврата

          Bot Refund Initiate собирает информацию о пользователе и обрабатывает возврат, выполняя вызов API.
          Тип пользователя — VIP Фильтр > Тип пользователя равен VIP

          Назначить > VIP-очередь

          нет данных
          Другие Фильтр > Тип проблемы НЕ ВОЗВРАЩАЕТСЯ, И тип пользователя НЕ ЯВЛЯЕТСЯ VIP

          Действие > Часто задаваемые вопросы Deflection Bot

          FAQ Deflection Bot работает с первым сообщением пользователя для отображения часто задаваемых вопросов на базе AI.

          Если ответы на часто задаваемые вопросы полезны, устраните проблему.

          Если ответы на часто задаваемые вопросы бесполезны, перенаправьте проблему агенту или боту.

          Чтобы настроить шаг часто задаваемых вопросов с поддержкой AI в рабочем процессе Custom Bot:

          1. Щелкните значок + на шаге «Получить информацию от пользователя».
          2. В раскрывающемся списке выберите пункт «Отправить часто задаваемые вопросы с поддержкой ИИ».

          3. После того, как вы нажмете кнопку «Отправить часто задаваемые вопросы с использованием ИИ», появится модальное окно «Новый шаг — Отправить часто задаваемые вопросы с использованием ИИ». Введите следующие данные:

          • Имя шага
          • Сообщение с одним или несколькими предложениями часто задаваемых вопросов
          • Варианты обратной связи с полезными (положительными) и бесполезными (отрицательными) сценариями отклонения

          4.Щелкните Сохранить. В Bot Builder открывается шаг «Отправить часто задаваемые вопросы с использованием ИИ» и отображаются следующие параметры вместе со значком +.

          • Показаны ответы на часто задаваемые вопросы. В них включены полезные (да, помогли) и бесполезные (нет, не помогли) сценарии отклонения.
          • Часто задаваемые вопросы не отображаются. Вы можете использовать этот параметр для ветвления, когда пользователям не отображаются часто задаваемые вопросы. Это может быть связано с тем, что версии мобильного SDK ниже 7.7.0, или когда ответы на часто задаваемые вопросы не соответствуют введенным пользователем данным.

          Примечание : Часто задаваемые вопросы должны быть доступны для правильного языка, платформы и приложения.Кроме того, администраторы могут добавить дополнительные шаги, щелкнув значок + .

          5. Если вы выберете «Отправить часто задаваемые вопросы с использованием ИИ» в качестве первого шага, на шаге «Отправить часто задаваемые вопросы с использованием ИИ» будет отображаться следующее модальное окно.
          Примечание . Это важно, потому что распространенным сценарием будет использование NIA для назначения пользовательскому боту с «Отправить часто задаваемые вопросы с использованием ИИ в качестве первого шага», и он будет работать с первым сообщением, отправленным пользователем. Это позволяет вам отклонять часто задаваемые вопросы по любому сегменту (-ам) проблемы по желанию, а не по всем проблемам, которые в настоящее время предлагает бот QuickSearch.

          6. Для предварительного просмотра рабочего процесса нажмите кнопку «Просмотр рабочего процесса» и выберите приложение, язык и платформу, чтобы просмотреть часто задаваемые вопросы, которые будут отображаться для конечного пользователя.

          Примечание : Если вы используете AI-Powered FAQ на первом этапе после нажатия кнопки «Пуск», вам нужно будет ввести сообщение, чтобы начать предварительный просмотр.


          6. Шаги соединения

          Чтобы создать новые шаги, чтобы связать их вместе, щелкните значок ссылки + справа от каждого параметра, чтобы добавить шаг, который будет выполняться после того, как пользователь выберет этот параметр.Например, если пользователь выбрал «Статус отправленного товара», вы можете спросить, получил ли он номер доставки или нет.

          На появившейся странице «Добавить шаг» теперь вы увидите опцию, позволяющую боту завершить поток разговора.

          В этом примере мы снова выберем «Получить информацию от пользователя», чтобы узнать, есть ли у пользователя номер доставки (используя формат ответа «Да/Нет»).

          После того, как вы сохраните этот шаг, вы увидите, что он автоматически связан с вашим первым шагом в потоке.Это потому, что вы создали его, используя знак «+» рядом с этой опцией шага.

          Когда у вас есть вся необходимая информация, чтобы продвинуть эту проблему в вашем рабочем процессе, нам нужно, чтобы этот бот вышел из разговора, чтобы агент или другой бот мог взять на себя. Для этого добавьте еще один шаг, используя опцию «Завершить поток разговора», чтобы завершить этот процесс.

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

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

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

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

          Если вы хотите предоставить пользователям возможность вернуться к предыдущему шагу в рабочем процессе бота:

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

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

          • Возврат возможен только к шагу «Получить информацию от пользователя».
          • Вы можете инициировать петлю со всех типов шагов ботов, кроме «Завершить поток разговора».
          • Вы не можете изменить опубликованный бот, чтобы добавить зацикливание.Вам нужно будет продублировать опубликованного бота, внести необходимые изменения цикла, опубликовать бота и обновить «Автоматизацию» и «Умные представления», чтобы связать с новым созданным вами ботом.

          Предварительный просмотр рабочего процесса бота

          Вы можете предварительно просмотреть рабочий процесс бота, который вы настроили, с помощью кнопки «Предварительный просмотр потока» в правом нижнем углу экрана.

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


          7. Интегрируйте пользовательских ботов в рабочий процесс

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


          8. Проверка системы в пользовательских ботах

          Чтобы предотвратить взаимодействие конечных пользователей с ботами в бесконечном цикле, у нас есть следующие проверки:

          • Пользовательским ботам может быть присвоено не более 25 последовательных назначений.
          • Один и тот же шаг внутри пользовательского бота можно повторить до 10 раз.

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

          Hello World с JavaScript — команды

          Предпосылки

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

          Наконечник

          Если вы работаете с данными Microsoft Graph, вам следует изучить и добавить в закладки обозреватель Microsoft Graph.Этот инструмент на основе браузера позволяет запрашивать Microsoft Graph вне приложения.

          Подготовить среду разработки

          После установки необходимых инструментов настройте среду разработки.

          Установите набор инструментов Teams

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

          Вы можете использовать набор инструментов с Visual Studio Code или CLI (интерфейс командной строки) под названием TeamsFx .

          1. Откройте Visual Studio Code и выберите представление Extensions ( Ctrl+Shift+X / ⌘⇧-X или View > Extensions ).
          2. В поле поиска введите Teams Toolkit .
          3. Выберите Установите рядом с Teams Toolkit.

          Значок Teams Toolkit появляется на боковой панели Visual Studio Code после его установки.

          Вы также можете найти набор инструментов Teams в Visual Studio Code Marketplace.

          Чтобы установить TeamsFx CLI, используйте диспетчер пакетов npm :

            npm install -g @microsoft/teamsfx-cli
            

          В зависимости от вашей конфигурации вам может потребоваться использовать sudo для установки CLI:

            sudo npm install -g --unsafe-perm @microsoft/teamsfx-cli
            

          Это состояние чаще встречается в системах Linux и macOS.

          Убедитесь, что вы добавили глобальный кеш npm в свой PATH. Этот шаг обычно выполняется как часть Node.js-установщик.

          Вы можете использовать интерфейс командной строки с командой teamfx . Убедитесь, что команда работает, запустив teamfx -h .

          Осторожно

          Прежде чем вы сможете запускать TeamsFx в терминалах PowerShell, вы должны включить политику выполнения «удаленная подпись» для PowerShell.

          Настройте клиент разработки Teams

          Клиент похож на пространство или контейнер для вашей организации в Teams, где вы общаетесь, обмениваетесь файлами и проводите собрания.Это пространство также является местом, где вы загружаете и тестируете свое приложение. Давайте проверим, готовы ли вы к разработке вместе с арендатором.

          Проверить возможность боковой загрузки

          После создания приложения вы должны загрузить его в Teams, не распространяя его. Этот процесс известен как неопубликованная загрузка. Войдите в свою учетную запись Microsoft 365, чтобы просмотреть этот параметр.

          Примечание

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

          У вас уже есть арендатор и есть ли у вас права администратора? Давай проверим, действительно ли ты это делаешь!

          Проверьте, можете ли вы загружать неопубликованные приложения в Teams:

          1. В клиенте Teams выберите значок Store .

          2. Выберите Управление приложениями .

          3. Выберите Опубликовать приложение .

          4. Найдите опцию Загрузить пользовательское приложение . Если вы видите этот параметр, загрузка неопубликованных приложений включена.

            Примечание

            Если у вас нет возможности загрузить пользовательское приложение, обратитесь к администратору Teams.

          Создание бесплатного клиента разработчика Teams (необязательно)

          Если у вас нет учетной записи разработчика Teams, вы можете получить ее бесплатно. Присоединяйтесь к программе для разработчиков Microsoft 365!

          1. Перейти к программе для разработчиков Microsoft 365.

          2. Выберите Присоединиться сейчас и следуйте инструкциям на экране.

          3. На экране приветствия выберите Настроить подписку E5 .

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

          5. Войдите в Teams, используя только что настроенную учетную запись администратора. Убедитесь, что у вас есть параметр Отправить пользовательское приложение в Teams.

          Получите бесплатную учетную запись Azure

          Если вы хотите разместить свое приложение или получить доступ к ресурсам в Azure, у вас должна быть подписка Azure.Создайте бесплатную учетную запись, прежде чем начать.

          Теперь у вас есть все инструменты и вы настроили свою учетную запись. Далее давайте настроим вашу среду разработки и начнем сборку! Выберите приложение, которое вы хотите сделать первым.

          Как создать собственного Discord-бота на Python | by Haider Imtiaz

          научиться создавать бота для разногласий

          В этой статье мы узнаем, как шаг за шагом создать бота для разногласий , используя язык программирования Python, который можно легко применять в домашних заданиях на python.Discord — известная платформа для групповых чатов, особенно для геймеров. Discord создан для того, чтобы участники могли обмениваться сообщениями друг с другом. Каждое сообщество называется «сервером» . Из-за своей популярности Discord в настоящее время используется для бизнеса. Разработчики Discord объявили о функции программирования в Discord, которая поможет пользователям и другим программистам разработать бота Discord, который будет автоматизировать работу.

          Бот Discord — это искусственный интеллект, который может выполнять ряд полезных автоматизированных задач и команд на ваших серверах.

          1. Добро пожаловать в новый участник
          2. Ответ на определенное сообщение на сервере
          3. Запретить нарушение правил
          4. Добавить музыку, мемы, игры и другие вещи на ваш сервер
          5. и т. д.

          Discord бот дает вам новый опыт на платформе Discord, вы можете увеличить свою популярность или бизнес. Бот Discord поможет вам найти новые способы взаимодействия со своими подписчиками. Используя язык Python, который является самым известным и простым в освоении языком, мы можем разработать бота Discord, используя официальный API Discord.

          Если в вашей операционной системе уже установлена ​​последняя версия Python, вы можете использовать следующую команду для установки библиотеки Discord.

          pip install discord.py

          Теперь еще одна важная вещь, которая нам нужна, это ключ API вашей учетной записи Discord. Чтобы получить ключ API, выполните следующие действия.

          1. Войдите в свою учетную запись на сайте Discord
          2. Перейдите на страницу приложения
          3. Нажмите кнопку «Новое приложение»

          4.Дайте вашему приложению имя и нажмите кнопку «Создать».

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

          5. Нажмите «Бот» и на этой странице нажмите «Добавить бота».

          6. После этого ваш бот будет добавлен, и просто нажмите «Копировать», чтобы скопировать токен присяги.

          7. Выберите Область применения вашего бота. Я выбрал «Бот».

          8. Затем выберите разрешение бота, которое вы хотите, чтобы бот имел. Выберите его внимательно, это разрешение повлияет на вашего бота.Мой бот используется только для обмена сообщениями, поэтому я выбираю следующие разрешения.

          9. Нажмите кнопку «Копировать» и вставьте ее в браузер.

          10. После того, как вы откроете URL-адрес в своем браузере, вам нужно выбрать сервер, на который вы хотите добавить своего бота.

          Вот и все, ваш бот Discord готов и подключен к вашему серверу Discord, потрясающе! прямо сейчас пришло время поработать над частью кода вашего бота.

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

           import discordclient = discord.Client()@client.event 
          async def on_ready():
          print('Мы вошли как {0.user}'.format(client))@client.event
          async def on_message (сообщение):
          , если message.author == client.user:
          returnif message.content.startswith('$Hi'):
          await message.channel.send('Привет!')client.run('ваш токен здесь ')

          Позвольте мне объяснить, как работает этот код. В первой строке мы просто импортируем модуль разногласий, а затем устанавливаем разногласий.client() в клиентскую переменную. Затем мы создали асинхронную функцию с именем on_ready() . Асинхронная функция будет ожидать выполнения обещания, а асинхронная функция всегда будет возвращать обещание. Кроме того, вы заметили, что в дополнение к функции нам пришлось использовать client.event() , который регистрирует событие функции.

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

          Теперь мы разработали нашего бота и добавили событие, это базовое событие дискорд-бота. Запустите бота и посмотрите на результаты.

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

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

           import discordclient = discord.Client()@client.event 
          async def on_ready():
          print('Мы вошли как {0.user}'.format(client))@client.event
          async def on_member_join (участник):
          для канала в member.guild.channels:
          , если str(channel) == "general":
          ожидаемый канал.send_message(f"""Добро пожаловать на сервер {member.mention}""")

          client.run('ваш токен здесь')

          Позвольте разбить код, чтобы понять, как он работает. Новая функция события on_member_join() имеет for в нем, который повторяет каналы на нашем сервере, и в теле цикла мы сделали условие, что если имя канала общее , то отправить приветственное сообщение новому пользователю. Мы также знаем, что нам не нужно запускать эти функции отдельно die client.event , они автоматически запускают функцию, когда пользователь выполняет какие-либо действия на сервере.

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

           import discord 
          client = discord.Client()
          @client.event
          async def on_ready():
          print('Мы вошли в систему как {0.user}'.format(client))@client.event
          async def on_message(message):
          words = ["bad", "stop", "unfriendly"]
          для слова в bad_words:
          if message.content.count(word) > 0:
          print("Неверное слово удалено" )
          ожидание сообщения.channel.purge(limit=1)

          client.run('ваш токен здесь')

          Итак, нам пришлось снова использовать функцию события on_message , и мы знаем, что эта функция отслеживает каждое сообщение, отправленное пользователем в нашем разногласии. server всякий раз, когда сообщение. Бот будет искать это сообщение в списке слов, который мы создали, если слово совпадает, он вернет 1 в условие if и удалит это сообщение с сервера на месте.

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

           import discordclient = discord.Client()@client.event 
          async def on_ready():
          print('Мы вошли как {0.user}'.format(client))

          @client.event
          async def on_message(message):
          elif message.content == "!users":
          await message.channel.send(f"""# участников: {id.member_count}""")

          client.run('ваш token here')

          Чтобы включить эту функцию для наших пользователей, им необходимо отправить сообщение !users на наш сервер разногласий, и когда сообщение будет прочитано нашим ботом с помощью функции события on_message, он отправит сообщение общее количество участников на нашем сервере разногласий с использованием вызова объекта member_count .

          Мы можем сделать наше ответное сообщение более четким и заметным, используя метод встраивания. Я добавлю событие, когда пользователь вводит !help , бот ответит встроенным сообщением.

           import discord 
          client = discord.Client()
          @client.event
          async def on_ready():
          print('Мы вошли в систему как {0.user}'.format(client))

          @client.event
          async def on_message(message):
          if message.content == "!help":
          embed = discord.Embed(title="Справка по боту", description="Некоторые полезные команды")
          embed.add_field(name="!hello", value="Приветствие пользователя")
          embed.add_field(name="!users", value="Отобразить количество пользователей")
          await message.channel.send(content=None, embed=embed)

          client.run('ваш токен здесь')

          Хорошо! у нас было модифицированное on_message событие функции и добавлено условие, если пользователь написал !help , а затем отправил встроенное сообщение, используя разногласия.

    Добавить комментарий

    Ваш адрес email не будет опубликован.