
2 / курсовая.docx
.pdf
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
КУРСОВАЯ РАБОТА (ПРОЕКТ) ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
канд. техн. наук, доц. |
|
|
|
В. А. Килимник |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ (ПРОЕКТУ)
Разработка Telegram-бота на языке программирования Python
по дисциплине: Технологии программирования
РАБОТУ ВЫПОЛНИЛ |
|
|
|
|
|
|
СТУДЕНТ гр. № |
Z0411 |
31.05.2023 |
|
М. В. Карелина |
||
|
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2020/3477 |
|
|
|
|
|
|
|
|
|
|
Шифр ИНДО
Санкт-Петербург 2023
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
Факультет № _____________ |
Кафедра №____41____________ |
Задание по курсовому проектированию
На тему:
Разработка Telegram-бота на языке программирования
__________________________________________________________________
______
Выдано студенту_______________ |
группа № Z0411 |
________ 2023г. |
Срок выполнения__31.05.2023г.____ |
1. СОДЕРЖАНИЕ ПРОЕКТА
Введение. Постановка задачи. Структура программы. Текст программы. Описание программы. Описание применения. Заключение. Список использованных источников.
2. ПРОГРАММНЫЕ СРЕДСТВА И ИНСТРУМЕНТЫ РЕАЛИЗАЦИИ
1)Компилятор PyCharm
2)Telegram API
3)Библиотеки sqlite3, telegram
4)SQLiteStudio
3.ОФОРМЛЕНИЕ ПРОЕКТА
1)Пояснительная записка, оформленная в соответствии требованиями на оформление пояснительной записки.
2)Результат вывода программы или приложения.
4.УКАЗАНИЯ
2

Исходя из рекомендованной структуры курсовой работы, объем пояснительной записки должен составлять примерно 30-40 страниц, которые включают структуру программы, текст программы и результаты ее выполнения.
5.ЛИТЕРАТУРА
1.Telegram: https://core.telegram.org/api 20.05.2023
2.ГОСТ 7.32-2017 Система стандартов по информации, библиотечному и издательскому делу. Отчет по научно-исследовательской работе.
Структура и правила оформления. 25.05.2023
Руководитель курсовой работы ________Килимник В.А._______(подпись)
Задание принял к исполнению _______________________ (подпись студента)
3
Сокращения и обозначения
БД – база данных.
API – (от англ. Application Programming Interface) программный интерфейс приложения В контексте API слово «приложение» относится к любому ПО с определенной функцией. Интерфейс можно рассматривать как сервисный контракт между двумя приложениями. Этот контракт определяет,
как они взаимодействуют друг с другом, используя запросы и ответы.
Документация API содержит информацию о том, как разработчики должны структурировать эти запросы и ответы.
IDE – (от англ. integrated development environment — IDE), также единая среда разработки, ЕСР — комплекс программных средств, используемый программистами для разработки программного обеспечения.
4
Термины и определения Блок-схема – схематичное представление алгоритма. Для ее
составления применяются различные геометрические фигуры для обозначения конкретных операций, а также соединительные стрелки,
указывающие последовательность шагов.
API токен – идентификатор, выпущенный пользователем. Позволяет изменить способ аутентификации и получить Access Token для авторизации дальнейших вызовов API.
PyCharm – интегрированная среда разработки языка программирования
Python.
Python – высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью,
ориентированный на повышение производительности разработчика и качества кода. Язык является полностью объектно-ориентированным, в том плане, что все является объектами.
SQL - декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных,
управляемой соответствующей системой управления базами данных.
Telegram – кроссплатформенная система мгновенного обмена сообщениями (мессенджер) с функциями обмена текстовыми, голосовыми и видеосообщениями, а также стикерами, фотографиями и файлами многих форматов. Также можно совершать аудио- и видеозвонки, устраивать трансляции в каналах и группах, организовывать конференции,
многопользовательские группы и каналы. Функционал приложения может быть значительно расширен при помощи ботов.
5
|
|
Оглавление |
|
Введение ......................................................................................................................................... |
7 |
||
1. |
Постановка задачи ................................................................................................................. |
8 |
|
|
1.1 |
Цели и задачи ....................................................................................................................... |
8 |
2. |
Разработка блок-схем............................................................................................................ |
9 |
|
3. |
Разработка программы ........................................................................................................ |
10 |
|
|
3.1 |
Описание программы ........................................................................................................ |
10 |
|
3.2 |
Текст программы ............................................................................................................... |
10 |
|
3.3 |
Результаты тестирования.................................................................................................. |
21 |
|
3.3.1 Положительное тестирование ................................................................................... |
21 |
|
Заключение................................................................................................................................... |
24 |
||
Список используемой литературы............................................................................................. |
25 |
6
Введение Данная работа предназначена для закрепления учебного материала,
изученного по курсу «Технологии программирования».
Программа представляет собой Telegram-бот, который служит для ознакомления с культурой аниме. Управление базой данных осуществляется посредством команд в боте. Дополнительное обучение пользователя не требуется.
Цель курсовой работы – выработать навыки использования алгоритмов для решения конкретной задачи, закрепить знания по программированию на языке Python, а также познакомиться с созданием Telegram-ботов.
Кроме этого, курсовая работа предназначена для развития навыков оформления сопроводительной документации к разработанному программному обеспечению.
7
1. Постановка задачи
1.1 Цели и задачи
Используя технологию структурного программирования, разработать базу данных аниме, а также с помощью технологий модульного программирования разработать Telegram-бот для работы с этой базой данных.
Бот должен быть понятен в использовании.
База данных аниме предназначена для удобного хранения информации об аниме, Telegram-бот нужен для облегчения ознакомления пользователя с этой базой данных.
Для достижения цели будут выполнены следующие задачи:
- изучение структурного и модульного программирования, работы с API
Telegram, с базами данных, а также с библиотеками Telegram и SQLite на языке программирования Python;
-построение схем базы данных, общей работы программы и основных алгоритмов;
-составление спецификации основных подпрограмм;
-разработка программы;
-оформление курсовой работы на тему «Разработка Telegram-бота на языке программирования Python».
1.2 Выбор средства разработки
В качестве среды разработки был выбран IDE PyCharm, так как PyCharm
делает разработку максимально продуктивной благодаря функциям автодополнения и анализа кода, мгновенной подсветке ошибок и быстрым исправлениям.
В качестве основного языка разработки был выбран Python по причине простого синтаксиса, большого количества подключаемых библиотек, его динамичности и распространенности, особенно при выполнении задач в данной предметной области. Также часть кода была написана на «чистом»
SQL, который является основным языком работы с базами данных.
8

2. Разработка блок-схем
Так как разрабатываемый Telegram-бот опирается на работу с базой данных, для начала разработаем структуру самой базы аниме. Она будет состоять одной таблицы: «Аниме» (Anime).
Теперь перейдем к разработке структуры самой программы. Ниже будет представлена основная структура программы, структура отдельных функций будет рассмотрена отдельно. Работа с ботом начинается с команды /start, после чего пользователь может выбрать любую из доступных функций. Логического конца программы нет, то есть пользователь может постоянно переходить от одной функции к другой. Общая блок-схема алгоритма представлена на рисунке №1.
Рисунок 1 - Общая блок-схема программы
Теперь перейдем к разработке структуры отдельных функций
9
3.Разработка программы
3.1Описание программы
3.2Текст программы
Листинг 1. Файл h.py
from sqlalchemy import create_engine, Column, Integer, String, Float, LargeBinary
from sqlalchemy.orm import sessionmaker, declarative_base
engine = create_engine('sqlite:///Naruto_World.db', echo=True) Base = declarative_base()
class Anime(Base): __tablename__ = 'anime'
anime_id = Column(Integer, primary_key=True) anime_name_r = Column(String)
anime_name_e = Column(String) release_date = Column(Integer) genre = Column(String) episodes_number = Column(Integer) rating = Column(Float)
def __repr__(self):
return f'Аниме [ID: {self.anime_id}, Название на русском: {self.anime_name_r}' \
f', Название на английском: {self.anime_name_e},
Год выпуска: {self.release_date}' \
f', Жанр: {self.genre}, Количество эпизодов:
{self.episodes_number}, Рейтинг: {self.rating}]'
Base.metadata.create_all(engine) Session = sessionmaker(bind=engine) session = Session()
# Создаем объекты Anime и добавляем их в базу данных
10