vo2va2

Untitled

Sep 16th, 2020 (edited)
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.48 KB | None | 0 0
  1. import telebot
  2. from telebot import types
  3. import requests
  4. from bs4 import BeautifulSoup
  5. import os
  6. try:
  7. import Image
  8. except ImportError:
  9. from PIL import Image
  10. bot = telebot.TeleBot(token)
  11.  
  12. @bot.message_handler(commands= ['start'])
  13. def first(message):
  14. key = types.ReplyKeyboardMarkup(True, False)
  15. key.row('Расписание', 'ГДЗ', 'Информация')
  16. send = bot.send_message(message.from_user.id, "Меню", reply_markup=key)
  17. bot.register_next_step_handler(send, menu)
  18. def menu(message):
  19. if message.text == 'Расписание':
  20. img = open('2020.09.04-18.08.png', 'rb')
  21. bot.send_photo(message.chat.id, photo=img)
  22. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  23. keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
  24. send = bot.send_message(message.from_user.id, "2 lvl", reply_markup=keyboard)
  25. bot.register_next_step_handler(send, subject)
  26.  
  27. elif message.text == 'ГДЗ':
  28. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
  29. keyboard.add(*[types.KeyboardButton(name) for name in ['Английский язык', 'Алгебра']])
  30. keyboard.add(*[types.KeyboardButton(name) for name in ['Геометрия']])
  31. #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
  32. #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
  33. keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
  34. send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
  35. bot.register_next_step_handler(send, subject)
  36. elif message.text == 'Информация':
  37. title_about = 'Bot version: pre-Alpha\nChief developer: Vova Yakovlev\nSponsors: - '
  38. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
  39. keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
  40. send = bot.send_message(message.from_user.id, title_about, reply_markup=keyboard)
  41. bot.register_next_step_handler(send, subject)
  42. def subject(message):
  43. if message.text == 'Русский язык':
  44. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  45. keyboard.row('Назад')
  46. send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
  47. bot.register_next_step_handler(send, back)
  48.  
  49. elif message.text == 'Алгебра':
  50. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  51. keyboard.row('Назад')
  52. send = bot.send_message(message.from_user.id, "Введите номер упражнения", reply_markup=keyboard)
  53. bot.register_next_step_handler(send, alg)
  54.  
  55. elif message.text == 'Английский язык':
  56. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  57. keyboard.add(*[types.KeyboardButton(name) for name in ['Учебник']])
  58. keyboard.add(*[types.KeyboardButton(name) for name in ['Activity Book']])
  59. keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
  60. send = bot.send_message(message.from_user.id, "Выберите то, что вам нужно", reply_markup=keyboard)
  61. bot.register_next_step_handler(send, dop)
  62.  
  63. elif message.text == 'Русский язык':
  64. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  65. send = bot.send_message(message.from_user.id, "text", reply_markup=keyboard)
  66. bot.register_next_step_handler(send, back)
  67.  
  68. elif message.text == 'Геометрия':
  69. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  70. send = bot.send_message(message.from_user.id, "Введите номер упражнения", reply_markup=keyboard)
  71. bot.register_next_step_handler(send, geom)
  72.  
  73. elif message.text == 'Домой🏠':
  74. first(message)
  75. def dop(message):
  76. if message.text == 'Учебник':
  77. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  78. send = bot.send_message(message.from_user.id, "Введите номер страницы", reply_markup=keyboard)
  79. bot.register_next_step_handler(send, eng_uch)
  80. elif message.text == 'Activity Book':
  81. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=False)
  82. send = bot.send_message(message.from_user.id, "Введите номер страницы", reply_markup=keyboard)
  83. bot.register_next_step_handler(send, eng_abb)
  84. elif message.text == 'Домой🏠':
  85. first(message)
  86. def eng_abb(message):
  87. if message.text != 'Назад':
  88. intmes = int(message.text)
  89. listnum = range(3, 104)
  90. if intmes in listnum and intmes != 98:
  91. per = str(intmes)
  92. URL = 'https://gdz.ru/class-8/english/activity-book-kuzovlev/' + per + '-s/'
  93. HEADERS = {
  94. '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',
  95. 'accept': '*/*'}
  96.  
  97. def get_html(url, params=None):
  98. r = requests.get(url, headers=HEADERS, params=params)
  99. return r
  100.  
  101. imgg = ''
  102. imgg3 = 0
  103. imgg4 = 0
  104.  
  105. def get_content(html):
  106. global imgg
  107.  
  108. soup = BeautifulSoup(html, 'html.parser')
  109. divs = soup.find_all('div', {'class': 'with-overtask'})
  110. sc = 1
  111. imgg3 = 0
  112. imgg4 = 0
  113. for div in divs:
  114. imgg = div.find('img')['src']
  115. if sc == 1:
  116. imgg2 = 'https:' + imgg
  117. elif sc == 2:
  118. imgg3 = 'https:' + imgg
  119. elif sc == 3:
  120. imgg4 = 'https:' + imgg
  121. sc += 1
  122. # if div != None:
  123.  
  124. if imgg2 != 0:
  125. p = requests.get(imgg2) # download
  126. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  127. out.write(p.content)
  128. out.close()
  129. img = open('img.jpg', 'rb')
  130. bot.send_photo(message.chat.id, photo=img)
  131. img.close()
  132. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  133. os.remove(file_path) # delete
  134. if imgg3 != 0:
  135. p = requests.get(imgg3) # download
  136. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  137. out.write(p.content)
  138. out.close()
  139. img = open('img.jpg', 'rb')
  140. bot.send_photo(message.chat.id, photo=img)
  141. img.close()
  142. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  143. os.remove(file_path) # delete
  144. if imgg4 != 0:
  145. p = requests.get(imgg4) # download
  146. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  147. out.write(p.content)
  148. out.close()
  149. img = open('img.jpg', 'rb')
  150. bot.send_photo(message.chat.id, photo=img)
  151. img.close()
  152. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  153. os.remove(file_path) # delete
  154.  
  155. send = bot.send_message(message.from_user.id, 'Перевод и решение заданий на странице ' + per)
  156. bot.register_next_step_handler(send, first) # recurse
  157. def parse():
  158. html = get_html(URL)
  159. if html.status_code == 200:
  160. get_content(html.text)
  161. return html
  162.  
  163. parse()
  164.  
  165. else:
  166. send = bot.send_message(message.from_user.id, 'Пожалуйста, введите корректное значение номера(если возникли проблемы с 98 страницей, то вместо страницы 98 введите 97, там сдвоенная страница' + per)
  167. bot.register_next_step_handler(send, first)
  168. def eng_uch(message):
  169. if message.text != 'Назад':
  170. intmes = int(message.text)
  171. listnum = range(6, 183)
  172. if intmes in listnum:
  173. per = str(intmes)
  174. URL = 'https://gdz.ru/class-8/english/kuzovlev-sb8/' + per + '-s/'
  175. HEADERS = {
  176. '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',
  177. 'accept': '*/*'}
  178.  
  179. def get_html(url, params=None):
  180. r = requests.get(url, headers=HEADERS, params=params)
  181. return r
  182.  
  183. imgg = ''
  184. imgg3 = 0
  185. imgg4 = 0
  186.  
  187. def get_content(html):
  188. global imgg
  189.  
  190. soup = BeautifulSoup(html, 'html.parser')
  191. divs = soup.find_all('div', {'class': 'with-overtask'})
  192. sc = 1
  193. imgg3 = 0
  194. imgg4 = 0
  195. for div in divs:
  196. imgg = div.find('img')['src']
  197. if sc == 1:
  198. imgg2 = 'https:' + imgg
  199. elif sc == 2:
  200. imgg3 = 'https:' + imgg
  201. elif sc == 3:
  202. imgg4 = 'https:' + imgg
  203. sc += 1
  204. # if div != None:
  205.  
  206. if imgg2 != 0:
  207. p = requests.get(imgg2) # download
  208. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  209. out.write(p.content)
  210. out.close()
  211. img = open('img.jpg', 'rb')
  212. bot.send_photo(message.chat.id, photo=img)
  213. img.close()
  214. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  215. os.remove(file_path) # delete
  216. if imgg3 != 0:
  217. p = requests.get(imgg3) # download
  218. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  219. out.write(p.content)
  220. out.close()
  221. img = open('img.jpg', 'rb')
  222. bot.send_photo(message.chat.id, photo=img)
  223. img.close()
  224. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  225. os.remove(file_path) # delete
  226. if imgg4 != 0:
  227. p = requests.get(imgg4) # download
  228. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  229. out.write(p.content)
  230. out.close()
  231. img = open('img.jpg', 'rb')
  232. bot.send_photo(message.chat.id, photo=img)
  233. img.close()
  234. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  235. os.remove(file_path) # delete
  236.  
  237. send = bot.send_message(message.from_user.id, 'Перевод и решение заданий на странице ' + per)
  238. bot.register_next_step_handler(send, first) # recurse
  239.  
  240. def parse():
  241. html = get_html(URL)
  242. if html.status_code == 200:
  243. get_content(html.text)
  244. return html
  245.  
  246. parse()
  247.  
  248.  
  249.  
  250. def alg(message):
  251. if message.text != 'Назад':
  252. intmes = int(message.text)
  253. listnum = range(1, 939)
  254. if intmes in listnum:
  255. per = str(intmes)
  256. URL = 'https://gdz.ru/class-8/algebra/merzlyak/' + per + '-nom'
  257. HEADERS = {
  258. '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',
  259. 'accept': '*/*'}
  260.  
  261. def get_html(url, params=None):
  262. r = requests.get(url, headers=HEADERS, params=params)
  263. return r
  264.  
  265. imgg = ''
  266. imgg3 = 0
  267. imgg4 = 0
  268. def get_content(html):
  269. global imgg
  270.  
  271. soup = BeautifulSoup(html, 'html.parser')
  272. divs = soup.find_all('div', {'class': 'with-overtask'})
  273. sc = 1
  274. imgg3 = 0
  275. imgg4 = 0
  276. for div in divs:
  277. imgg = div.find('img')['src']
  278. if sc == 1:
  279. imgg2 = 'https:' + imgg
  280. elif sc == 2:
  281. imgg3 = 'https:' + imgg
  282. elif sc == 3:
  283. imgg4 = 'https:' + imgg
  284. sc += 1
  285. # if div != None:
  286.  
  287. if imgg2 != 0:
  288. p = requests.get(imgg2) # download
  289. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  290. out.write(p.content)
  291. out.close()
  292. img = open('img.jpg', 'rb')
  293. bot.send_photo(message.chat.id, photo=img)
  294. img.close()
  295. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  296. os.remove(file_path)# delete
  297. if imgg3 != 0:
  298. p = requests.get(imgg3) # download
  299. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  300. out.write(p.content)
  301. out.close()
  302. img = open('img.jpg', 'rb')
  303. bot.send_photo(message.chat.id, photo=img)
  304. img.close()
  305. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  306. os.remove(file_path) # delete
  307. if imgg4 != 0:
  308. p = requests.get(imgg4) # download
  309. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  310. out.write(p.content)
  311. out.close()
  312. img = open('img.jpg', 'rb')
  313. bot.send_photo(message.chat.id, photo=img)
  314. img.close()
  315. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  316. os.remove(file_path) # delete
  317.  
  318. send = bot.send_message(message.from_user.id, "Решение упражнения " + per)
  319. bot.register_next_step_handler(send, back) # recurse
  320.  
  321.  
  322.  
  323. def parse():
  324. html = get_html(URL)
  325. if html.status_code == 200:
  326. get_content(html.text)
  327. return html
  328.  
  329. parse()
  330. def geom(message):
  331. if message.text != 'Назад':
  332. intmes = int(message.text)
  333. listnum = range(1, 861)
  334. if intmes in listnum:
  335. per = str(intmes)
  336. URL = 'https://megaresheba.ru/gdz/geometriya/8-klass/merzlyak/' + per + '-nomer'
  337. HEADERS = {
  338. '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',
  339. 'accept': '*/*'}
  340.  
  341. def get_html(url, params=None):
  342. r = requests.get(url, headers=HEADERS, params=params)
  343. return r
  344.  
  345. imgg = ''
  346.  
  347. def get_content(html):
  348. global imgg
  349. soup = BeautifulSoup(html, 'html.parser')
  350. div = soup.find('div', {'class': 'with-overtask'})
  351. # if div != None:
  352. imgg = div.find('img')['src']
  353.  
  354. p = requests.get(imgg) #download
  355. out = open(r"C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg", "wb")
  356. out.write(p.content)
  357. out.close()
  358. img = open('img.jpg', 'rb')
  359. bot.send_photo(message.chat.id, photo=img)
  360. img.close()
  361. file_path = r'C:\Users\vayak\PycharmProjects\pythonProject5\img.jpg'
  362. os.remove(file_path) #delete
  363. send = bot.send_message(message.from_user.id, "Решение упражнения " + per)
  364. bot.register_next_step_handler(send, back) #recurse
  365. def parse():
  366. html = get_html(URL)
  367. if html.status_code == 200:
  368. get_content(html.text)
  369. return html
  370. parse()
  371.  
  372. elif message.text == 'Назад':
  373. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
  374. keyboard.add(*[types.KeyboardButton(name) for name in ['Физика', 'Алгебра', 'Русский язык']])
  375. keyboard.add(*[types.KeyboardButton(name) for name in ['Геометрия', 'да', '']])
  376. keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
  377. keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
  378. keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
  379. send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
  380. bot.register_next_step_handler(send, subject)
  381.  
  382.  
  383. def back(message):
  384. if message.text == 'Назад':
  385. keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
  386. keyboard.add(*[types.KeyboardButton(name) for name in ['Английский язык', 'Алгебра']])
  387. keyboard.add(*[types.KeyboardButton(name) for name in ['Геометрия']])
  388. #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
  389. #keyboard.add(*[types.KeyboardButton(name) for name in ['нет', 'да', '']])
  390. keyboard.add(*[types.KeyboardButton(name) for name in ['Домой🏠']])
  391. send = bot.send_message(message.from_user.id, "2 уровень", reply_markup=keyboard)
  392. bot.register_next_step_handler(send, subject)
  393.  
  394.  
  395.  
  396.  
  397. bot.polling(none_stop=True)
  398.  
Add Comment
Please, Sign In to add comment