Муниципальное автономное общеобразовательное учреждение Лицей № 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