Введение
Актуальность темы проекта: В целом, тема разработки телеграм-ботов является актуальной в современном мире, поскольку боты становятся все более популярным инструментом автоматизации и обслуживания клиентов.
Цель: Написать телеграм-бота
Задачи:
1.Узнать, что такое телеграмм-боты
2.Определить сферу бота
3.Выбрать способ и библиотеку написание бота
4.Придумать имя, логотип боту, найти картинки и описание к товарам
5.Придумать интерфейс боту
6.Написать код
Продукт деятельности: Телеграм –бот
Чат-боты в Telegram представляют собой автоматизированные аккаунты, способные выполнять различные задачи, такие как продажи товаров, развлечение пользователей или поиск полезной информации. Они могут предоставлять разнообразные типы сообщений, включая текст, ссылки, изображения, видео, файлы и кнопки, и выполнять множество функций, таких как управление программами лояльности, информирование о акциях и новинках, сбор отзывов клиентов, помощь в продажах и круглосуточное консультирование. Чат-боты в Telegram являются мощным инструментом для автоматизации бизнес-процессов и улучшения взаимодействия с клиентами
Глава 1. Теоретическая часть
1.1 Сфера применения бота
Развитие технологий и популярность Telegram привели к созданию разнообразных ботов, предоставляющих различные услуги пользователям. Среди популярных тем для ботов выделяются информационные, образовательные, развлекательные, бизнес-ориентированные и боты для здоровья/фитнеса. Для примера рассмотрим бота для онлайн-магазина продуктов, где основными функциями будут покупка товаров, выбор товара с описанием и реализация функционала заказа через бот.
1.2 Имя, логотип, картинки и описание к товарам бота
Название "ShopTime" подчеркивает идею магазина как места, где можно насладиться временем покупок и выбора товаров. Это название легко запоминается и звучит привлекательно для целевой аудитории.
Для логотипа магазина "ShopTime" предлагается использовать символ цветка, который символизирует красоту, свежесть и приятные покупки. Цветок может быть стилизован в современном и узнаваемом стиле, чтобы привлечь внимание потенциальных клиентов - пользователей в мессенджерах и социальных сетях. (Рис.1)
Рис. 1.
1.3 Способ написания и библиотека бота
Для создания Telegram-бота я выбрал язык программирования Python, так как он имеет множество библиотек, подходящих для разработки ботов. Рассмотрел три основные библиотеки: aiogram, python-telegram-bot и Telebot.
Aiogram - высокопроизводительная и интуитивно понятная библиотека, предлагающая простой синтаксис, поддержку асинхронности, удобные средства для обработки сообщений и создания интерактивных клавиатур. Однако ее функционал может показаться сложным для начинающих.
Python-telegram-bot также обладает чистым и интуитивным API, поддержкой асинхронности и средствами для обработки сообщений. Ее преимуществом является эффективная обработка множества одновременных запросов.
Telebot отличается простотой использования, удобной обработкой сообщений, поддержкой клавиатур и модульной архитектурой. Ее недостаток - ограниченный функционал по сравнению с другими библиотеками.
В итоге я остановился на Telebot, так как она соответствует моим требованиям: простота, необходимый функционал и активная разработка.
1.4 Интерфейс бота
Интерфейс — это ключевой элемент взаимодействия между пользователями и ботом. Он представляет собой систему кнопок, команд и меню, которые облегчают навигацию и доступ к функционалу бота.
При входе в бота пользователю будет предложено нажать на кнопку "НАЧАТЬ", за которой скрывается команда /start, запускающая диалог с ботом (Рис. 2).
Рис. 2.Интерфейс
Главное меню будет содержать три основные кнопки: "Товары", "О проекте" и "Поддержка" (Рис. 3).
Рис. 3 Главное меню.
При выборе кнопки "Товары" пользователь сможет выбрать из списка продукцию, такую как булочка, самса, чиабатта, ржаной хлеб (Рис.4).
Рис.4. Выбор товара.
При выборе конкретного товара пользователю будет отправлено описание, полное наименование и изображение товара (Рис. 5).
Рис. 5. Описание изображение товара.
Для покупки товара пользователю нужно просто написать в чат "купить". Также будет доступна кнопка "Назад в меню" для возврата к предыдущему меню (Рис.6).
Рис. 6. "Назад в меню".
Кнопка "О проекте" предоставит доступ к фактам о проекте. После выбора этой кнопки пользователю будут доступны два факта, а также кнопка "Назад" для возврата к главному меню (Рис.8).
Рис.8. Доступ к фактам.
Кнопка "Поддержка" откроет доступ к возможности написать разработчику(Рис.9).
Рис. 9. Кнопка написать разработчику.
После выбора этой кнопки пользователь сможет отправить сообщение разработчику. Кнопка "Назад" вернет пользователя к главному меню.
При нажатии на кнопку "Назад" в любом подменю или возврате к главному меню, бот будет отправлять сообщение: "Перекинул тебя в главное меню! Выбирай!". Это поможет пользователю легко перемещаться по функционалу бота
Глава 2.
2.1 Разработка кода
Написание кода я начал с инструкции. Первое, что мы должны сделать это скачать саму библиотеку. Это делается через терминал командой $ pip install pyTelegramBotAPI. После этого надо получить токен для бота, это можно сделать с помощью другого бота, BotFather.
Далее надо двигаться строго по плану:
1. Импорт нужных нам библиотек, в нашем случае это random, telebot, webbrowser, ну и from telebot import types, это импорт типов из библиотеки telebot.
2. Вводим переменную TOKEN и вставляем туда наш токен.
3. Пишем важную команду, чтобы бот не останавливался через секунду.
4. Создаю команду для того чтобы бот не молчал на непонятную ему команду, а отвечал - ‘Не понимаю вас’.
5. Пишем логику для команды старт, это значит, что мы пишем текст и делаем кнопки которые будет видеть человек при входе.
6. Создаю функцию “welcome”, для создания кнопок и принятия сообщений с этих кнопок. У нас их будет 3.
7. Создаем обработку фотографий. Если человек пришлет фото, то бот напишет - “Я не могу принимать фото”.
8. Реализуем обработку нажатий на кнопки в меню, это надо для того, чтобы кнопки имели функционал, в 5 пункте мы их только визуально сделали.
9. Реализуем кнопки внутри кнопок меню, то есть если мы нажимаем к примеру на товары, то у нас появляются кнопки такие как: товар 1, товар 2, товар 3, товар 4 и кнопка назад в меню, если человек выбирает конкретный товар, например номер 1, то у него будет выбор купить или назад.
10. Доделываем команду старт и добавляем кнопку назад в меню.
11. Нажимаем на кнопку запуска кода и готово!
Осталось изменить название кнопок и сообщений, которые бот отправляет.
Полученный код можно посмотреть по ссылке:
https://disk.yandex.ru/d/scMw3ehc_U4EJA
2.2 Активация бота (Создание Хостинга)
Хостинг — это услуга предоставления места на сервере, где размещается ваш веб-сайт или приложение. Запуск бота на собственном хостинге означает, что вы размещаете код и настройки вашего бота на сервере, который вы контролируете.
Для запуска бота на своем хостинге вам понадобится:
1. Сервер или виртуальная машина: это может быть физический сервер или облачный сервис (например, Amazon Web Services, Google Cloud Platform, DigitalOcean и т. д.).
2. Установленное программное обеспечение: вам потребуется настроить сервер с необходимыми компонентами (например, Python, библиотеки для работы с Telegram API и т. д.).
3. Настройка безопасности: убедитесь, что ваш сервер защищен от несанкционированного доступа и атак.
4. Доменное имя: вы можете зарегистрировать доменное имя для вашего бота, чтобы пользователи могли легко найти его в Интернете.
После того как вы подготовите все необходимое и развернете свой бот на хостинге, вы сможете управлять им независимо от вашего локального компьютера. Таким образом, ваш бот будет доступен круглосуточно и готов к использованию пользователями Telegram.
Для меня хостингом будет мой ПК, так как он является машиной на которой стоит специальное ПО, которое запускает бота.
Заключение
Завершая наш проект по созданию Telegram-бота с использованием библиотеки Telebot и языка программирования Python, хочу подчеркнуть, что это был очень полезный и интересный опыт. Мы увидели, как мощный инструмент представляющий собой Telebot, позволяя легко создать функционального бота с разнообразными возможностями.
Особенно ценными оказались возможности планирования задач, обработки пользовательских данных и взаимодействия с другими API. Библиотека Telebot предоставляет полный набор инструментов для создания ботов Telegram, причем ее документация и простота использования делают ее превосходным выбором для тех, кто стремится быстро и эффективно разработать бота.
Реализация функций бота подчеркнула универсальность, гибкость и дружелюбие Python, как языка программирования. Динамичная природа Python и его обширная библиотека делают его популярным выбором для создания разнообразных приложений, включая ботов Telegram.
Этот проект стал ценным учебным опытом, который помог нам глубже понять возможности Python и Telebot. Мы убедились в их эффективности и удобстве использования, что важно для разработки проектов любого уровня сложности.
Источники и список используемой литературы
https://kwork.ru/
https://linkbaza.com/blog/articles/kakoy-yazyk-luchshe-vsego-podoydet-dlya-programmirovaniya-bota-v-telegram
https://dtf.ru/u/367155-shkola-programmirovaniya-piksel/2253811-biblioteki-python-kak-ustanovit-biblioteku-python
https://victor-komlev.ru/sozdanie-telegram-bota-s-pomoshhyu-python/
https://habr.com/ru/companies/otus/articles/771110/
https://habr.com/ru/articles/580408/
https://picsart.com/create/editor?category=layout&projectId=65abfaf4519b5890f049bd84
https://ru.m.wikipedia.org/wiki/Интерфейс
https://habr.com/ru/companies/amvera/articles/733010/
https://yandex.ru/q/question/kakoi_iazyk_nuzhno_vyuchit_dlia_bota_i_iz_a79486aa/
https://habr.com/ru/companies/amvera/articles/733010/
https://otzyvmarketing.ru/articles/hostingi-dlya-telegram-bota/
https://habr.com/ru/articles/262247/
https://rarus.ru/bonus/telegram-bot/
Дэвид Томас, Эндрю Хант «Программист-прагматик»:2-е юбилейное издание. : Пер. с англ. -- СПб. : ООО "Диалектика", 2020 -- 368 с