Similar presentations:
От идеи до бота — один код
1. Индивидуальный проект. Пример выполнения работы.
Дисциплина2.
План занятия:≻ Разберемся как выполняется проект на примере
создания телеграм бота для напоминаний
≻ Обсудим сложности и посмотрим на способы решения.
≻ Изучим шаги создания продукта с точки зрения
программирования
≻ Подведем итоги активности
3.
Начать нужно с установки языкапрограммирования python. При
установке обязательно отметьте
галочки. В перспективе вы
должны обладать базовыми
знаниями синтаксиса, но если
вы никогда не
программировали, в
презентации важные строчки
объяснены, а во время лекции
подробно будет разобран весь
проект
4.
Следующий этап – настройка библиотек. Библиотека в программировании –модуль для работы определенных вещей. Необходимо открыть командную
строку(ее можно найти в пуск->поиск). Далее ввести команду.
pip – команда для работы библиотек
install – команда для установки
pyTelegramBotAPI – библиотека для работы с телеграмом
pytz – библиотека для работы с часовыми поясами, нужна в том
числе для корректного распознавания времени
5.
Создание бота вTelegram
Откройте Telegram и найдите @BotFather.
Введите команду /newbot и следуйте
инструкциям.
Получите API-токен (например, 123456:ABCDEF1234ghIkl-zyx57W2v1u123ew11).
6.
Создание основыНеобходимо создать файл с расширением .py и записать в него следующее:
from и import – команды для добавления функционала библиотек.
telebot – основная библиотека для работы с Telegram Bot API.
types – для создания кнопок и клавиатур.
datetime, timedelta – работа с датой и временем.
pytz – поддержка часовых поясов.
threading – многопоточность для фоновых задач.
time – задержки в коде.
7.
ДалееTOKEN – API-ключ вашего бота.
bot = telebot.TeleBot(TOKEN) – создание экземпляра бота.
reminders – словарь для хранения напоминаний (временное решение, в перспективе сделать
работу с базой данных. Базы данных проходились в отдельных лекциях).
8.
Команда /start•@bot.message_handler(commands=['start']) – обработчик команды /start.
•ReplyKeyboardMarkup – клавиатура с кнопками.
•resize_keyboard=True – автоматическое изменение размера кнопок.
9.
Создание напоминанияШаг 1: Запрос текста напоминания
func=lambda message: message.text == "..." – ловим нажатие
кнопки.
register_next_step_handler() – ждём следующий ответ
пользователя.
10.
Шаг 2: Обработка текстаone_time_keyboard=True – клавиатура исчезнет после выбора.
reminders[chat_id] = {'text': text} – сохраняем текст напоминания.
11.
Шаг 3: Установка времениtimedelta – добавляем время к
текущей дате.
schedule_reminder() – запускаем
фоновую проверку времени.
12.
Функция schedule_reminder (отправканапоминания)
threading.Thread – запускаем в отдельном потоке.
time.sleep(60) – проверяем время раз в минуту.
13.
Функция демонстрации напоминанияФильтруем напоминания по chat_id.
Форматируем вывод в читаемый вид.
14.
Функция сохранения напоминанийСохранения данных в словарь через функцию выглядит так.
15.
Функция обработки времени и отправки напоминанийthreading.Thread() - Создание отдельного потока обработки
времени.
16.
Запуск ботаbot.polling(none_stop=True) – бот будет перезапускаться при
сбоях.
17.
Полезные материалы:Аналогичный гайд по созданию – Ссылка 1
Гайд по созданию с использованием других технологий – Ссылка 2
Официальная документация по всему функционалу телеграм ботов – Ссылка 3.
Так же в ней подробно объяснены все работающие команды для данного
примера.
18.
ЗаключениеДанный пример разобран за 90 минут. Он может служить основной и
в дальнейшем развиваться с добавлением базы данных, вводом
собственного времени, категоризацией задач.
Вы можете начать свой проект телеграм бота с данного примера
19.
От идеи до бота — одинкод!
programming