Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import telebot
- from telebot import types
- import requests
- from bs4 import BeautifulSoup
- import os
- try:
- import Image
- except ImportError:
- from PIL import Image
- bot = telebot.TeleBot(token)
- @bot.message_handler(commands= ['start'])
- def first(message):
- key = types.ReplyKeyboardMarkup(True, False)
- key.row('Расписание', 'ГДЗ', 'Информация')
- send = bot.send_message(message.from_user.id, "Меню", reply_markup=key)
- bot.register_next_step_handler(send, menu)
- def menu(message):
- if message.text == 'Расписание':
- img = open('2020.09.04-18.08.png', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
- send = bot.send_message(message.from_user.id, "2 lvl", reply_markup=keyboard)
- bot.register_next_step_handler(send, subject)
- elif message.text == 'ГДЗ':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
- keyboard.add(*[types.KeyboardButton(name) for name in ['Английский язык', 'Алгебра']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Геометрия']])
- #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
- #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
- send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
- bot.register_next_step_handler(send, subject)
- elif message.text == 'Информация':
- title_about = 'Bot version: pre-Alpha\nChief developer: Vova Yakovlev\nSponsors: - '
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
- keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
- send = bot.send_message(message.from_user.id, title_about, reply_markup=keyboard)
- bot.register_next_step_handler(send, subject)
- def subject(message):
- if message.text == 'Русский язык':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- keyboard.row('Назад')
- send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
- bot.register_next_step_handler(send, back)
- elif message.text == 'Алгебра':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- keyboard.row('Назад')
- send = bot.send_message(message.from_user.id, "Введите номер упражнения", reply_markup=keyboard)
- bot.register_next_step_handler(send, alg)
- elif message.text == 'Английский язык':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- keyboard.add(*[types.KeyboardButton(name) for name in ['Учебник']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Activity Book']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
- send = bot.send_message(message.from_user.id, "Выберите то, что вам нужно", reply_markup=keyboard)
- bot.register_next_step_handler(send, dop)
- elif message.text == 'Русский язык':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- send = bot.send_message(message.from_user.id, "text", reply_markup=keyboard)
- bot.register_next_step_handler(send, back)
- elif message.text == 'Геометрия':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- send = bot.send_message(message.from_user.id, "Введите номер упражнения", reply_markup=keyboard)
- bot.register_next_step_handler(send, geom)
- elif message.text == 'Домой🏠':
- first(message)
- def dop(message):
- if message.text == 'Учебник':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- send = bot.send_message(message.from_user.id, "Введите номер страницы", reply_markup=keyboard)
- bot.register_next_step_handler(send, eng_uch)
- elif message.text == 'Activity Book':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
- send = bot.send_message(message.from_user.id, "Введите номер страницы", reply_markup=keyboard)
- bot.register_next_step_handler(send, eng_abb)
- elif message.text == 'Домой🏠':
- first(message)
- def eng_abb(message):
- if message.text != 'Назад':
- intmes = int(message.text)
- listnum = range(3, 104)
- if intmes in listnum and intmes != 98:
- per = str(intmes)
- URL = 'https://gdz.ru/class-8/english/activity-book-kuzovlev/' + per + '-s/'
- HEADERS = {
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
- 'accept': '*/*'}
- def get_html(url, params=None):
- r = requests.get(url, headers=HEADERS, params=params)
- return r
- imgg = ''
- imgg3 = 0
- imgg4 = 0
- def get_content(html):
- global imgg
- soup = BeautifulSoup(html, 'html.parser')
- divs = soup.find_all('div', {'class': 'with-overtask'})
- sc = 1
- imgg3 = 0
- imgg4 = 0
- for div in divs:
- imgg = div.find('img')['src']
- if sc == 1:
- imgg2 = 'https:' + imgg
- elif sc == 2:
- imgg3 = 'https:' + imgg
- elif sc == 3:
- imgg4 = 'https:' + imgg
- sc += 1
- # if div != None:
- if imgg2 != 0:
- p = requests.get(imgg2) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- if imgg3 != 0:
- p = requests.get(imgg3) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- if imgg4 != 0:
- p = requests.get(imgg4) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- send = bot.send_message(message.from_user.id, 'Перевод и решение заданий на странице ' + per)
- bot.register_next_step_handler(send, first) # recurse
- def parse():
- html = get_html(URL)
- if html.status_code == 200:
- get_content(html.text)
- return html
- parse()
- else:
- send = bot.send_message(message.from_user.id, 'Пожалуйста, введите корректное значение номера(если возникли проблемы с 98 страницей, то вместо страницы 98 введите 97, там сдвоенная страница' + per)
- bot.register_next_step_handler(send, first)
- def eng_uch(message):
- if message.text != 'Назад':
- intmes = int(message.text)
- listnum = range(6, 183)
- if intmes in listnum:
- per = str(intmes)
- URL = 'https://gdz.ru/class-8/english/kuzovlev-sb8/' + per + '-s/'
- HEADERS = {
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
- 'accept': '*/*'}
- def get_html(url, params=None):
- r = requests.get(url, headers=HEADERS, params=params)
- return r
- imgg = ''
- imgg3 = 0
- imgg4 = 0
- def get_content(html):
- global imgg
- soup = BeautifulSoup(html, 'html.parser')
- divs = soup.find_all('div', {'class': 'with-overtask'})
- sc = 1
- imgg3 = 0
- imgg4 = 0
- for div in divs:
- imgg = div.find('img')['src']
- if sc == 1:
- imgg2 = 'https:' + imgg
- elif sc == 2:
- imgg3 = 'https:' + imgg
- elif sc == 3:
- imgg4 = 'https:' + imgg
- sc += 1
- # if div != None:
- if imgg2 != 0:
- p = requests.get(imgg2) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- if imgg3 != 0:
- p = requests.get(imgg3) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- if imgg4 != 0:
- p = requests.get(imgg4) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- send = bot.send_message(message.from_user.id, 'Перевод и решение заданий на странице ' + per)
- bot.register_next_step_handler(send, first) # recurse
- def parse():
- html = get_html(URL)
- if html.status_code == 200:
- get_content(html.text)
- return html
- parse()
- def alg(message):
- if message.text != 'Назад':
- intmes = int(message.text)
- listnum = range(1, 939)
- if intmes in listnum:
- per = str(intmes)
- URL = 'https://gdz.ru/class-8/algebra/merzlyak/' + per + '-nom'
- HEADERS = {
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
- 'accept': '*/*'}
- def get_html(url, params=None):
- r = requests.get(url, headers=HEADERS, params=params)
- return r
- imgg = ''
- imgg3 = 0
- imgg4 = 0
- def get_content(html):
- global imgg
- soup = BeautifulSoup(html, 'html.parser')
- divs = soup.find_all('div', {'class': 'with-overtask'})
- sc = 1
- imgg3 = 0
- imgg4 = 0
- for div in divs:
- imgg = div.find('img')['src']
- if sc == 1:
- imgg2 = 'https:' + imgg
- elif sc == 2:
- imgg3 = 'https:' + imgg
- elif sc == 3:
- imgg4 = 'https:' + imgg
- sc += 1
- # if div != None:
- if imgg2 != 0:
- p = requests.get(imgg2) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path)# delete
- if imgg3 != 0:
- p = requests.get(imgg3) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- if imgg4 != 0:
- p = requests.get(imgg4) # download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) # delete
- send = bot.send_message(message.from_user.id, "Решение упражнения " + per)
- bot.register_next_step_handler(send, back) # recurse
- def parse():
- html = get_html(URL)
- if html.status_code == 200:
- get_content(html.text)
- return html
- parse()
- def geom(message):
- if message.text != 'Назад':
- intmes = int(message.text)
- listnum = range(1, 861)
- if intmes in listnum:
- per = str(intmes)
- URL = 'https://megaresheba.ru/gdz/geometriya/8-klass/merzlyak/' + per + '-nomer'
- HEADERS = {
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36',
- 'accept': '*/*'}
- def get_html(url, params=None):
- r = requests.get(url, headers=HEADERS, params=params)
- return r
- imgg = ''
- def get_content(html):
- global imgg
- soup = BeautifulSoup(html, 'html.parser')
- div = soup.find('div', {'class': 'with-overtask'})
- # if div != None:
- imgg = div.find('img')['src']
- p = requests.get(imgg) #download
- out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
- out.write(p.content)
- out.close()
- img = open('img.jpg', 'rb')
- bot.send_photo(message.chat.id, photo=img)
- img.close()
- file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
- os.remove(file_path) #delete
- send = bot.send_message(message.from_user.id, "Решение упражнения " + per)
- bot.register_next_step_handler(send, back) #recurse
- def parse():
- html = get_html(URL)
- if html.status_code == 200:
- get_content(html.text)
- return html
- parse()
- elif message.text == 'Назад':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
- keyboard.add(*[types.KeyboardButton(name) for name in ['Физика', 'Алгебра', 'Русский язык']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Геометрия', 'да', '']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
- send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
- bot.register_next_step_handler(send, subject)
- def back(message):
- if message.text == 'Назад':
- keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
- keyboard.add(*[types.KeyboardButton(name) for name in ['Английский язык', 'Алгебра']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Геометрия']])
- #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
- #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
- keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
- send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
- bot.register_next_step_handler(send, subject)
- bot.polling(none_stop=True)
Add Comment
Please, Sign In to add comment