В первой части мы сделали гороскоп на Python, который выдаёт нам прогноз на день по знаку зодиака. Сегодня пойдём дальше: теперь этот же генератор гороскопов будет встроен в Телеграм в виде бота.
Да. То, что обычно на курсах продают за 50 тысяч рублей, мы вам сейчас расскажем за 15 минут бесплатно.
Как всё будет работать
В этом проекте три звена: наш компьютер с Python, сервер Телеграма и Телеграм-клиент.
На компьютере работает интерпретатор Python, а внутри интерпретатора крутится наша программа на Python. Она отвечает за весь контент: в неё заложены все шаблоны текста, вся логика, всё поведение.
Внутри программы на Python работает библиотека, которая отвечает за общение с сервером Телеграма. В библиотеку мы вшили секретный ключ, чтобы сервер Телеграма понимал, что наша программа связана с определённым ботом.
Когда клиент с Телеграмом запрашивает у бота гороскоп, запрос приходит на сервер, а сервер отправляет его на наш компьютер. Запрос обрабатывается программой на Python, ответ идёт на сервер Телеграма, сервер отдаёт ответ клиенту. Изи:
Обратите внимание, что работать наш бот будет только тогда, когда включён компьютер и на нём запущена программа на Python. Если компьютер выключится, пропадёт интернет или вы отключите интерпретатор, то бот работать перестанет: запросы будут приходить, но никто на них не ответит. В одной из следующих частей мы сделаем так, чтобы это всё работало на удалённом сервере и было всегда доступно.
Что будем делать
Если записать пошагово наш план, то он будет выглядеть так:
- Регистрируем бота в Телеграме.
- Устанавливаем Python-библиотеку для работы с Телеграмом.
- Добавляем библиотеку в программу с гороскопом и учим программу реагировать на сообщения в чате.
- Пишем там же код, который покажет кнопки для выбора знаков зодиака.
- Сделаем так, чтобы по кнопкам появлялся гороскоп для этого знака.
Теперь по очереди разберём каждый пункт.
1. Регистрация нового бота
Нажимаем Start и пишем команду /newbot. Нас по очереди спросят про название бота и его никнейм (мы придумали только с третьей попытки, потому что остальные были заняты):
2. Установка библиотеки
Есть два основных способа работать с телеграмом в Python: через библиотеку telebot и с помощью Webhook. Мы будем использовать библиотеку — так проще и быстрее.
Чтобы её установить, запускаем командную строку от имени администратора (если у вас Windows) и пишем команду pip install pytelegrambotapi
Подключаем библиотеку и получаем сообщения
Чтобы программа на Python умела управлять Телеграм-ботами, нужно в самое начало кода добавить строки:
Телеграм Бот 2023. Как Создать Телеграм Бота Правильно Чтобы у Вас его не Увели
import telebot;
bot = telebot.TeleBot(‘токен’);
Программа-гороскоп
# Подключаем модуль случайных чисел import random # Заготовка для первого предложения first = [«Сегодня — идеальный день для новых начинаний.»,»Оптимальный день для того, чтобы решиться на смелый поступок!»,»Будьте осторожны, сегодня звёзды могут повлиять на ваше финансовое состояние.»,»Лучшее время для того, чтобы начать новые отношения или разобраться со старыми.»,»Плодотворный день для того, чтобы разобраться с накопившимися делами.»] second = [«Но помните, что даже в этом случае нужно не забывать про»,»Если поедете за город, заранее подумайте про»,»Те, кто сегодня нацелен выполнить множество дел, должны помнить про»,»Если у вас упадок сил, обратите внимание на»,»Помните, что мысли материальны, а значит вам в течение дня нужно постоянно думать про»] second_add = [«отношения с друзьями и близкими.»,»работу и деловые вопросы, которые могут так некстати помешать планам.»,»себя и своё здоровье, иначе к вечеру возможен полный раздрай.»,»бытовые вопросы — особенно те, которые вы не доделали вчера.»,»отдых, чтобы не превратить себя в загнанную лошадь в конце месяца.»] third = [«Злые языки могут говорить вам обратное, но сегодня их слушать не нужно.»,»Знайте, что успех благоволит только настойчивым, поэтому посвятите этот день воспитанию духа.»,»Даже если вы не сможете уменьшить влияние ретроградного Меркурия, то хотя бы доведите дела до конца.»,»Не нужно бояться одиноких встреч — сегодня то самое время, когда они значат многое.»,»Если встретите незнакомца на пути — проявите участие, и тогда эта встреча посулит вам приятные хлопоты.»] # выводим знаки зодиака print(«1 — Овен») print(«2 — Телец») print(«3 — Близнецы») print(«4 — Рак») print(«5 — Лев») print(«6 — Дева») print(«7 — Весы») print(«8 — Скорпион») print(«9 — Стрелец») print(«10 — Козерог») print(«11 — Водолей») print(«12 — Рыбы») # Спрашиваем у пользователя про его знак zodiac = int(input(«Введите число с номером знака зодиака: «.format(blue=»