Uploaded by Brulik Бычков

ввп1

advertisement
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ ОРДЕНА ТРУДОВОГО КРАСНОГО
ЗНАМЕНИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «МОСКОВСКИЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ»
Кафедра «Направляющие телекоммуникационные среды»
Лабораторная работа №1
на тему
“Создание простого Telegram – Бота на языке Python”
Группа: БИН2106
Выполнил:
Бычков Роман Вячеславович
Москва
2022
1. Общее задание
а) Создать обработку трёх любых сообщений;
б) Создать обработку трёх любых команд;
в) Подробно расписать команду /help
2. Формализация и уточнение задания
В данной лабораторной работе бот должен отвечать на три команды и три
сообщения. Для примера будем использовать следующие команды:
а) /time, при которой бот будет отвечать отсылать текущее время;
б) /help, при которой бот будет отсылать сообщение с информацией о своих
возможностях;
в) /random, при которой бот будет генерировать случайное число от 1 до
100.
Также, бот будет реагировать на следующие сообщения:
а) «хочу», при котором он будет присылать ссылку на сайт МТУСИ;
б) «рандом», при котором будет генерировать число от 1 до 100;
в) «выход», при котором бот вернёт пользователя в главное меню.
3. Разработка программного кода проекта и краткая теория
Данный бот состоит из одного файла: main.py. В нём хранится код бота.
import datetime
import random
import telebot
from telebot import types
from random import randint
token = "5196019989:AAHnKg1yGbMMXBH1M6Ooj1U0dvNzJQKhfo8"
def rev(): global random_g
random_g = random.randint(1, 100)
bot = telebot.TeleBot(token)
keyboard = types.ReplyKeyboardMarkup()
keyboard.row("Хочу")
keyboard.add("/help", "/time")
keyboard.add("/random")
random_kb = types.ReplyKeyboardMarkup()
random_kb.row("Рандом")
random_kb.row("Выход")
@bot.message_handler(commands = ['start'])
def start(message):
bot.send_message(message.chat.id, 'Привет! Хочешь узнать новую информацию
о МТУСИ?', reply_markup = keyboard)
@bot.message_handler(commands = ['help'])
def help(message):
bot.send_message(message.chat.id, '/help - помощь\n/time - текущее
время\n/random - генератор случайного числа')
@bot.message_handler(commands = ['random'])
def random(message):
bot.send_message(message.chat.id, 'Это генерация случайного числа от 1 до
100', reply_markup = random_kb)
@bot.message_handler(commands = ['time'])
def time(message):
now = datetime.datetime.now()
bot.send_message(message.chat.id, str(now.hour) + ":" + str(now.minute),
reply_markup = keyboard)
@bot.message_handler(content_types = ['text'])
def dialog(message):
if message.text.lower () == "хочу":
bot.send_message(message.chat.id, 'Тогда держи ссылку! https://mtuci.ru/', reply_markup = keyboard)
elif message.text.lower() == "рандом":
rev()
bot.send_message(message.chat.id, 'Число сгенерировано', reply_markup =
random_kb)
bot.send_message(message.chat.id, f'{randint(1, 100)}', reply_markup =
random_kb)
#rev()
elif message.text.lower() == "выход":
bot.send_message(message.chat.id, "Возвращаю Вас в главное меню",
reply_markup=keyboard)
bot.polling()
Программный код файла main.py
4. Проверка работоспособности бота
Рисунок 1 – команда /start, хочу
Рисунок 2 – команды /time, /random, Рандом, Выход
5. Вывод
а) Проведён анализ и выполнены все условия поставленной задачи;
б) Был разработан программный код бота;
в) Была проверена проверка на работоспособность бота.
Download