Uploaded by Ююю Ююю

проект

advertisement
Муниципальное автономное общеобразовательное учреждение
Лицей № 1 г. Кунгура
Игровой бот в «Telegram» на Python
Работу выполнила:
Новоселова Кристина,
10Б класса
Руководитель:
Шипилова Лариса Валерьевна,
учитель Информатики
г. Кунгур, 2023
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ..................................................................................................................................................... 3
ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПО РАБОТЕ ЧАТ-БОТОВ В СЕТИ ИНТЕРНЕТ ................................................... 4
История создания чат-ботов ................................................................................................................... 4
Функционал современных ботов ........................................................................................................... 5
Основные сведения о мессенджере Telegram ..................................................................................... 6
СОЗДАНИЕ ЧАТ-БОТА В МЕССЕНДЖЕРЕ «TELEGRAM» .............................................................................. 9
Backend ..................................................................................................................................................... 9
Frontend ..................................................................................................................................................12
ЗАКЮЧЕНИЕ ................................................................................................................................................14
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ..................................................................................................15
ПРИЛОЖЕНИЕ ............................................................................................................................................16
2
ВВЕДЕНИЕ
Актуальность проекта. Аудитория Телеграмм ежедневно растёт, этому
способствует удобство мессенджера, наличие каналов, чатов, и конечно
возможность создавать ботов. Данная технология востребована на различных
рынках: от рекламы до разработки программного обеспечения. В своей работе я
буду исследовать текущее и потенциальное использование чат-ботов в сфере
развлечений - от игр до виртуальных собеседников.
Предмет исследования: анализ необходимых для разработки возможностей
чат-ботов на базе мессенджера Telegram и их внедрение в конкретном чат-боте
(являющимся конечным продуктом проекта).
Целью проекта является проведение исследования, касающегося структуры
работы, функции чат-ботов; создание собственного чат-бота в мессенджере
«Telegram».
Задачи проекта.
1)
изучить теоретические аспекты по истории и работе чат-ботов в сети
Интернет;
2)
исследовать
возможности
и
функциональное
предназначение
интернет-мессенджера Telegram;
3)
исследовать
практические
инструменты
и
методы
разработки
функционала для чат-бота;
4)
создать собственного чат-бота со своим функционалом:

активировать своего чат-бота;

придумать имя и логотип чат-боту;

Заполнить чат-бота ответами на специальные вопросы.
Методы исследования: анализ, обобщение, описание, моделирование,
программирование.
3
ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ПО РАБОТЕ ЧАТ-БОТОВ В СЕТИ
ИНТЕРНЕТ
История создания чат-ботов
В начале XX века Алан Тьюринг разработал теорию о том, что человеческий
мозг представляет собой цифровой вычислительный механизм, который с течением
времени обучается, чтобы стать универсальной машиной. В 1950 году он
разработал тест, чтобы определить, способен ли компьютер думать. Интерпретация
этого теста звучит следующим образом: «Человек взаимодействует с одним
компьютером и одним человеком. На основании ответов на вопросы он должен
определить, с кем он разговаривает: с человеком или компьютерной программой.
Задача компьютерной программы — ввести человека в заблуждение, заставив
сделать неверный выбор».
Самый первый в мире чат-бот был создан Джозефом Вейценбаумом в 1966
году и получил название ELIZA. Вейценбаум сказал, что Элиза представляет собой
«пародию» того, как мог бы отвечать психотерапевт при первой беседе с
пациентом. Элиза просто выделяет во входной фразе значимые слова, которые
подставляет в шаблонную фразу. «Пародия» на человека может раскрыться сразу
или после нескольких диалогов, в зависимости от того, как пользователь будет
вести беседу. Иногда возникали забавные ситуации, когда увлечённый
пользователь через несколько минут убеждался в отсутствии у машины понимания
сути вопросов. Всё происходило из-за того, что человек придаёт каждому слову
смысл, а машина интерпретирует слово как символьные данные. Не находя
вариантов для ответа, Элиза обычно отвечает «I see» («Понятно») и переводит
разговор на другую тему.
Следующим по известности бот был Parry, созданный в 1972 году Кеннетом
Колби, профессором психиатрии Стэнфордского университета. Parry пытался
подражать больному шизофренией. Бот был описан, как ELIZA, но с
дополнительной встроенной стратегией разговора. около 48% психиатров смогли
отличить PARRY от настоящего параноика.
4
Jabberwacky — это чат-бот, созданный разработчиком Ролло Карпентером в
1988 году. Его целью было имитировать естественный человеческий разговор в
развлекательной форме. Это ранняя попытка создания искусственного интеллекта
посредством взаимодействия с человеком.
Созданный в 1992 году для MS-Dos, Dr Sbaitso был одним из первых попыток
внедрения ИИ в чат-бот. Распространяемая с различными звуковыми картами
производства Creative Technology, программа «разговаривала» с пользователем,
как если бы она была психологом, и была разработана для демонстрации голосов,
которые могли воспроизводить звуковые карты.
В 2015 году компания «Наносемантика» и Фонд Сколково провели конкурс
«Тест Тьюринга на русском языке». Независимые судьи из числа посетителей
конференции Startup Village в Москве общались с 8 отобранными экспертным
советом роботами и 8 волонтёрами-лингвистами. После 3 минут разговора на
русском языке судьи определяли, кто из их собеседников является роботом, а кто
нет. Каждый робот провёл по 15 разговоров. В конкурсе победил робот, созданный
Иваном Голубевым из Санкт-Петербурга, — «Соня Гусева». 47 % собеседников
приняли его за человека.
Чат-боты
теперь
регулярно
служат
личными
помощниками
или
техподдержкой по обслуживанию клиентов в компаниях по всему миру. Siri от
Apple, Bixby от Samsung, Cortana от Microsoft, Google Assistant от Google и Alexa
от Amazon. Они реагируют на голосовые команды и способны отслеживать
электронную почту, календари, системы домашней безопасности и другие задачи.
Функционал современных ботов
Современные боты становятся все более усовершенствованными и способны
выполнять широкий спектр задач. Современный бот может использоваться в
качестве
виртуального
ассистента,
агента
по
обслуживанию
клиентов,
автоматизированного помощника или службы часто задаваемых вопросов.
Некоторые современные боты даже способны определять настроение
клиентов, отвечать на запросы в разговорной манере и обращаться к
5
существующим базам данных для предоставления высокоточной информации.
Кроме того, боты могут быть легко настроены и запрограммированы с помощью
определенных команд для улучшения их функциональности и интеграции в
существующие системы.
Современные боты невероятно полезны во многих отраслях и становятся все
более популярными благодаря своему удобству, экономичности и удобству
использования. Они быстро становятся неотъемлемой частью нашей жизни, и их
потенциальное применение только растет.
Существует четыре основных типа ботов, каждый из которых имеет свое
уникальное применение и назначение: разговорные боты, игровые боты, боты для
выполнения задач и боты-ассистенты.

Разговорные боты (или чат-боты) - наиболее распространенный тип
ботов. Их основная задача - имитировать естественный разговор с человеком. Они
могут использоваться для обслуживания клиентов, проведения опросов и сбора
отзывов, развлечений, маркетинга и многого другого.

Игровые боты используются для создания или проведения игр на таких
платформах, как Telegram, Discord и Slack. Они могут быть запрограммированы на
игру против людей или на совместную работу с ними.

Задачные боты предназначены для автоматизации задач. Они могут
использоваться для регулярной публикации сообщений, ответов на запросы
клиентов или быстрой и точной обработки заказов.

Боты-ассистенты предназначены для оказания технической помощи.
Эти боты могут использоваться для поддержки клиентов, управления задачами и
календарями и даже для создания и управления бюджетами.
Основные сведения о мессенджере Telegram
Telegram − кроссплатформенная система мгновенного обмена сообщениями
(мессенджер) с функциями VoIP, позволяющая обмениваться текстовыми,
голосовыми и видеосообщениями, стикерами и фотографиями, файлами многих
форматов. Также можно совершать видео- и аудиозвонки и трансляции в каналах и
6
группах, организовывать конференции, многопользовательские группы и каналы.
Всё это можно делать на неограниченном количестве устройств − на каждом из них
будут все ваши контакты, чаты и история сообщений. Приложения доступны как
для мобильных устройств, так и для ПК, и даже для браузера. С помощью ботов
функционал приложения практически не ограничен.
Если сравнивать: Telegram или WhatsApp, а также сопоставлять этот
мессенджер с Viber’ом, то можно найти немало сходств. Однако Telegram обладает
несомненными преимуществами среди остальных сетей, поскольку у него очень
богатый функционал и надежная система защиты.
Основные преимущества Telegram:

Разрешается отправлять файлы большого размера. В Телеграмм не
ограничен допустимый размер выгрузки документов.

Надежная защита от утечки информации. При помощи специально
созданного протокола вся информация, находящаяся в Телеграмм в каждом
диалоге, строго засекречена. К ней нет доступа даже у работников самого сервиса,
поэтому никто не сможет узнать о разговорах в личных переписках или беседах.

История
сообщений
в
Телеграмм
синхронизируется
между
устройствами в реальном времени. Вы можете начать писать сообщение на
телефоне и закончить его на компьютере.

Любое отправленное сообщение можно редактировать в течение двух
дней после отправки.

Телеграмм хранит все данные в облаке, а не в памяти телефона. Все
загуженные фото и файлы можно удалить с устройства, чтобы освободить место −
они не потеряются и их можно будет скачать обратно в любой момент.

Не обязательно давать кому-то свой номер телефона, чтобы с ним
общаться. Достаточно придумать себе @username (псевдоним), а номер останется
скрытым.
7

В Телеграмм есть огромное количество стикеров, доступных для
установки в один клик. Если не нашли подходящих, можно создать свой набор
прямо в приложении.

Есть возможность для создания ботов.

Высокая скорость работы. Сообщения доставляются за считанные
секунды без сбоев и задержек.
8
СОЗДАНИЕ ЧАТ-БОТА В МЕССЕНДЖЕРЕ «TELEGRAM»
Создание телеграмм-бота
Перед началом разработки нужно выбрать язык программирования. Выбор пал
на Python версии 3.9.4
В качестве среды разработки я выбрала Sublime Text.
Архитектура бота включает в себя 2 части: Frontend и Backend
Frontend — это разработка пользовательского интерфейса и функций, которые
работают на клиентской стороне бота. Это всё, что видит пользователь, открывая
бота, и с чем он взаимодействует.
Backend – серверная часть проект (Работа с базой данных, сохранения,
загрузка данных пользователя)
Backend
Бота я буду разрабатывать, используя библиотеку pyTelegramBotAPI.
Импортируем библиотеку pyTelegramBotAPI и Random, создаем бота с
помощью BotFather.
Создаем объект бота, используя токен, который выдал нам BotFather.
9
Добавим message_handler –функцию, которая позволяет боту обрабатывать
сообщения и генерировать ответ. Теперь, когда мы нажимаем «/start», бот
предлагает нам выбрать игру.
Посмотрим, что получилось:
Добавим message_handler, который будет включать игру в зависимости от
нашего выбора.
Теперь, добавим действия для кнопок «Орел» и «Решка». При помощи
функции «random», использующейся для генерации случайного числа, бот напишет
победили мы или проиграли.
10
Добавим следующую игру «Угадай число».Мы вводим выбранное нами число
с клавиатуры, а бот подберет свое число при помощи random и, сравнив их, выведет
нам ответ.
Для того, чтобы можно было переключаться между играми, добавляем кнопку
«Главное меню».
Последняя игра будет «Камень-ножницы-бумага». Добавляем кнопки выбора.
11
И действия на кнопки для игры.
Последним шагом, мы добавим условие: если пользователь напишет
сообщение, которое не относится к функциям бота, то он предложит выбрать игру.
Frontend
Внешняя сторона бота Telegram относится к элементам, которые видны
конечному пользователю. К ним относится пользовательский интерфейс (UI),
который включает в себя окно чата и любые кнопки или другие функции.
UI также включает в себя профиль бота, который содержит основную
информацию, такую как имя, описание и изображение профиля бота.
Пользовательский интерфейс также должен быть разработан таким образом, чтобы
12
им было удобно пользоваться, поэтому он должен выглядеть профессионально и
быть простым в навигации.
Оформление боту можно добавить через BotFather:
 Имя пользователя (Username), через который люди смогут найти бота;
 Описание, чтобы пользователи смогли узнать, в какие игры они могут
сыграть;
 Логотип, показывающий, с какой деятельностью связан бот.
Вот так теперь выглядит наш бот:
13
ЗАКЮЧЕНИЕ
В данной работе были изучены функции и принципы работы чат-ботов, а
также то, как создать бота в мессенджере.
В первой главе проекта были рассмотрены теоретические основы работы с
чат-ботами. Мы познакомились с историей развития чат-ботов и принципами их
разработки. Также мы исследовали различные типы и функции ботов, а также их
современные возможности.
Во второй главе были изучены различные инструменты и методы,
используемые для разработки функциональности чат-ботов. Кроме того, описаны
этапы и алгоритм создания собственного чат-бота в мессенджере Telegram.
Благодаря этому проекту я лучше поняла, что такое чат-боты, как их можно
создать и как их можно использовать. Мое исследование показало, что чат-боты
обладают огромным потенциалом и становятся все более ценными в нашей
современной жизни. С их помощью такие вещи, как онлайн-покупки, сбор
информации и другие задачи становятся проще и эффективнее. Учитывая
стремительный технологический прогресс, я уверена, что в ближайшем будущем
чат-боты будут развиваться и станут еще более незаменимыми.
14
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Смыслова, Л.В. Чат-бот как современное средство интернет-коммуникаций //
2018.
2. Тест Тьюринга // Википедия URL: https://ru.wikipedia.org/wiki/Тест_Тьюринга
3. Тьюринг А.М. Вычислительные машины и разум // 2003. - С. 47-59.
4. Чат-бот // Википедия URL: https://en.wikipedia.org/wiki/Chatbot
5. Чат-боты в Telegram // Skillbox URL: https://skillbox.ru/media/code/chatboty-vtelegram-na-python-chast-1/
15
ПРИЛОЖЕНИЕ
Часть кода 1
16
Часть кода 2
17
Download