Индивидуальный проект. Пример выполнения работы.
2.27M
Category: programmingprogramming

От идеи до бота — один код

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.

От идеи до бота — один
код!
English     Русский Rules