Как написать программу чат бот

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

Удачного обучения!

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

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

Чат-бот — это виртуальный онлайн-консультант в чате, который принимает обращения клиентов и отвечает им. Он может работать на сайте, в мессенджерах, в соцсетях.
Боты берут на себя рутинные диалоги, освобождая время операторов для более интересных, сложных и творческих задач. Кроме того, чат-боты работают 24/7, без выходных и праздников (и даже в новогоднюю ночь!)

Источник: aimylogic.com

Пишем Telegram Bot на Python / Создание ботов для начинающих за 30 минут

Чат-боты в Telegram на Python и Aiogram: пишем первого бота

Большой гайд по работе с Aiogram на примере эхо‑бота — чат‑бота, который повторяет за пользователем его фразы. Весь код — внутри статьи.

Иллюстрация: Polina Vari для Skillbox Media

Антон Яценко

Антон Яценко
Изучает Python, его библиотеки и занимается анализом данных. Любит путешествовать в горах.

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

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

Содержание

  • Библиотеки для создания бота
  • Краткое описание Aiogram
  • Создаём эхо-бота
  • Шаг 1. Устанавливаем Python
  • Шаг 2. Создаём виртуальное окружение
  • Шаг 3. Создаём бота
  • Шаг 4. Подключаем Aiogram
  • Шаг 5. Пишем код для эхо-бота
  • Шаг 6. Запускаем бота и проверяем работу
  • Что дальше?
Читайте также:
Есть ли программа для отслеживания звонков

Библиотеки для создания бота

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

Пишем TELEGRAM бота на Python

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

Python-telegram-bot. Одна из первых библиотек для создания ботов. Отличается от Aiogram синхронным подходом к работе, то есть при ожидании ответа от пользователя выполнение кода останавливается.

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

Что нужно знать об Aiogram перед написанием кода

Перед тем как приступить к написанию нашего бота, остановимся подробнее на одной технической особенности Aiogram.

Как уже было сказано ранее, одно из главных достоинств библиотеки — полная асинхронность. Она использует синтаксис async/await, который позволяет программе выполнять несколько задач одновременно и эффективно управлять потоком выполнения.

Вот простой пример функции, использующей механизм async/await:

Другой плюс Aiogram — в большом наборе инструментов и хуков, которые можно использовать для добавления дополнительных функций и настроек бота. Библиотека обеспечивает полный доступ ко всем возможностям Telegram API, включая отправку и получение сообщений, управление клавиатурой, обработку медиафайлов (фотографий, видео, документов) и многое другое.

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

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

Создаём эхо-бота

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

Для этого нам необходимо:

Шаг 1

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

На macOS или Linux. Python установлен в эти операционные системы изначально. Чтобы проверить его наличие, откройте терминал и введите команду:

На Windows требуется установка Python. Сделать это проще всего по нашей инструкции.

Шаг 2

Создаём виртуальное окружение

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

virtualenv устанавливается через терминал:

Открываем его, жмём кнопку «Запустить» и вводим команду /newbot:

Теперь напишем название и юзернейм для нашего бота. Назовём его echo_skillbox_bot (теперь это имя занято, так что вам надо будет придумать своё). В ответ придёт наш токен, который мы будем использовать для подключения к API Telegram.

Читайте также:
К лингвистическим программам относятся

Этот токен мы сохраняем — он потребуется нам в будущем.

Шаг 4

Подключаем Aiogram

Для установки Aiogram воспользуемся менеджером пакетов PIP. Вводим в терминал:

Попробуем написать что-то:

Как мы видим — всё работает. Бот возвращает нам наши сообщения.

Что дальше?

Расширять функциональность бота, указывая для разных команд пользователя разные ответы. Например, добавить раздел помощи, который будет появляться по команде /help. Или настроить запуск кода на виртуальном сервере, чтобы бот работал независимо от вашего компьютера.

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

Больше интересного про код в нашем телеграм-канале. Подписывайтесь!

  • С# для новичков: развеиваем мифы и пишем простого чат-бота
  • «Я удивился, когда написал код, а он заработал»: как живёт начинающий Python-разработчик
  • Учимся верстать: что такое CSS

Источник: skillbox.ru

Как учить Python с нуля с удовольствием: пишем своего чат-бота

Привет! Меня зовут Илья Осипов, я методист курса программирования на Python «Девман» и больше 5 лет пишу код на этом языке. Сегодня расскажу, как новичку сделать полезного чат-бота.

Python — классный язык программирования. Но многие новички учат его неправильно: почти все онлайн-курсы, тренажёры, книги и видео предлагают начинать учить Python с нуля с каких-то странных задач, вроде: «Давайте решим вот эту математическую задачку» или «Давайте напишем рекурсивный поиск чисел Фибоначчи». Вы уже тоже зеваете от скуки?

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

Senior Python-разработчик КРОК , Москва, можно удалённо , По итогам собеседования

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

Если вы тоже обнаружили себя в этой «яме», то этот туториал для вас. Дайте себе ещё один шанс.

Шаг 1. Зайдите в Repl.it

Создайте песочницу для языка Python. Ничего устанавливать не нужно. Просто откройте эту ссылку в соседней вкладке.

Придётся зарегистрироваться, но, думаю, вы разберётесь.

А вы уже нажали кнопку? Нет? Идите жмите!

А вы уже нажали кнопку? Нет? Идите жмите!

Шаг 2. Пройдите шаг 1

Эй, хватит читать! Так дела не делаются! Чтобы научиться программировать на Python — нужно писать код своими руками, а не смотреть, как кто-то делает это за вас

Читайте также:
Voodoo drag программа для настройки

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

Шаг 3. Установите библиотеку для написания ботов

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

Нужна кнопка Packages

Вместо этого будем работать с куда более простой библиотекой — python-telegram-bot . Откройте меню для установки библиотек слева-снизу:

Нужна кнопка Packages.

Название библиотеки можно скопировать прямо из статьи, не обязательно печатать :)

И в появившемся окошке вбейте её название. Нажмите на «+» напротив названия и подождите загрузки. В конце появится вот такая зелёная плашка об успехе:

Название библиотеки можно скопировать прямо из статьи, не обязательно печатать.

Очень страшно, ничего не понятно, но надо только поменять одно число.

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

Очень страшно, ничего не понятно, но надо только поменять одно число.

Шаг 4. Запустите пример из документации

В документации к библиотеке есть готовые примеры кода. Давайте запустим пример эхобота.

Эхобот — это бот, который просто повторяет за вами. Отвечает вам тем же, что вы написали ему. Вот пример в документации. Я почистил его от всякого ненужного, поэтому можете взять сразу мой, он должен быть не таким страшным. Копируйте этот код в файл main.py и жмите кнопку > Run наверху. Ничего не получится, но так и нужно, об этом ниже:

from telegram import Update, ForceReply from telegram.ext import Updater, CommandHandler, MessageHandler, Filters def start(update, context): user = update.effective_user update.message.reply_text(‘Привет!’) def echo(update, context): update.message.reply_text(update.message.text) if __name__ == ‘__main__’: updater = Updater(«TOKEN») dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler(«start», start)) dispatcher.add_handler(MessageHandler(Filters.text #128578;

Осталось вставить полученный токен в код и запустить его снова:

Не накосячьте с кавычками. 

Не накосячьте с кавычками.

Заходите в Telegram, открывайте переписку с вашим ботом, и получайте удовольствие от беседы с цифровым другом:

Он всё ещё за мной повторяет :(

Он всё ещё за мной повторяет.

Шаг 6. Начните менять код

В скопированном коде много всего страшного. Давайте коротко расскажу, как это всё работает.

Начинается исполнение кода отсюда:

if __name__ == ‘__main__’: updater = Updater(«5646004689:AAECTkuGjWo1Imwr-_6UrN-nzbo89sd3WSM») dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler(«start», start)) dispatcher.add_handler(MessageHandler(Filters.text #128521;

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru