Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.89 KB | None | 0 0
  1. from telegram.ext import Updater
  2. from telegram.ext import CommandHandler, ConversationHandler
  3. from time import sleep
  4. from telegram.ext import MessageHandler, Filters
  5. from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove
  6. import telegram
  7. import requests, json, hmac, pickle, hashlib, time, pyperclip, random, string, re
  8. import sqlite3 as db
  9. from selenium import webdriver
  10. from selenium.webdriver.support import expected_conditions as EC
  11. from selenium.webdriver.support.ui import WebDriverWait
  12. from selenium.webdriver.common.by import By
  13.  
  14.  
  15.  
  16. COFIX, DO, MAINMENU, IDK, REPEAT, SECONDMENU, BALANCE = range(7)
  17.  
  18.  
  19. reply_keyboard = [['по ебалу на']]
  20.  
  21.  
  22. vakapi = '78ec0c2c800c47e8815002e1f123e68a'
  23.  
  24.  
  25.  
  26. def start(update, context):
  27. chat_id = update.effective_chat.id
  28. if chat_id == 217053586:
  29. update.message.reply_text("куку ёпта", reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True))
  30. else:
  31. update.message.reply_text('вы кто такие, я вас не звал, идите к @Ser017')
  32.  
  33. return MAINMENU
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. def mainmenu(update, context):
  46. if update.message.text == 'по ебалу на':
  47. try:
  48. context.bot.send_message(chat_id=update.effective_chat.id, text='ну поихали')
  49.  
  50. url_bk = 'https://vak-sms.com/api/getCountNumber/?apiKey={apiKey}&service={service}&country={country}'.format(
  51. apiKey = vakapi,
  52. service = 'bk',
  53. country = 'ru',
  54. )
  55. lol = requests.get(url_bk)
  56. print(lol)
  57. print(lol.text)
  58. json_bk = lol.json()
  59. kol = json_bk['bk']
  60. print('Количество номеров - ', kol)
  61. context.bot.send_message(chat_id=update.effective_chat.id, text='Количество номеров - ' + str(kol))
  62.  
  63.  
  64. url_balance = 'https://vak-sms.com/api/getBalance/?apiKey={apiKey}'.format(
  65. apiKey = vakapi,
  66. )
  67. r = requests.get(url_balance)
  68. json_response = r.json()
  69. balance = json_response['balance']
  70.  
  71. if (balance<1) or (kol < 1):
  72. if kol == 0:
  73. print('Нет номеров(((')
  74.  
  75. else:
  76. print('Пополни баланс, сейчас ', balance, ' рублей')
  77. context.bot.send_message(chat_id=update.effective_chat.id, text='Пополни баланс')
  78. else:
  79. print('Баланс ', balance, ' рублей')
  80. context.bot.send_message(chat_id=update.effective_chat.id, text='Баланс - ' + str(balance))
  81.  
  82.  
  83. url = 'https://vak-sms.com/api/getNumber/?apiKey={apiKey}&service={service}&country={country}'.format(
  84. apiKey = vakapi,
  85. service = 'bk',
  86. #operator = 'rostelecom',
  87. country = 'ru',
  88. )
  89.  
  90. #print(url)
  91.  
  92. r = requests.get(url)
  93. json_response = r.json()
  94. phone = json_response['tel']
  95. idNum = json_response['idNum']
  96. #print(json_response1)
  97. print('Взял телефон +' + str(phone))
  98. print('idNum - '+ idNum)
  99.  
  100.  
  101.  
  102.  
  103.  
  104. ###########################################
  105.  
  106.  
  107. url = 'https://android.clients.google.com/c2dm/register3'
  108.  
  109. headers = {
  110. 'Authorization': 'AidLogin 3930438852391837441:8364386478318153411',
  111. 'app': 'ru.burgerking',
  112. 'gcm_ver': '200414020',
  113. 'User-Agent': 'Android-GCM/1.5 (marmite MHC19Q)',
  114. 'content-length': '399',
  115. 'content-type': 'application/x-www-form-urlencoded',
  116. 'Host': 'android.clients.google.com',
  117. 'Connection': 'Keep-Alive',
  118. 'Accept-Encoding': 'gzip',
  119. }
  120.  
  121. #data = 'X-subtype=1070988214604&sender=1070988214604&X-app_ver=11336&X-osv=23&X-cliv=fiid-12451000&X-gmsv=200414020&X-appid=dnSmOcQ0tOE&X-scope=*&X-gmp_app_id=1%3A1070988214604%3Aandroid%3Adcc7930e54fffe52&X-app_ver_name=6.2.3&app=ru.burgerking&device=3930438852391837441&app_ver=11336&info=A_NoGBX1avQeUO6eTSP7b7X4Iv5GBhc&gcm_ver=200414020&plat=0&cert=f4a04c9ba34b32452da77667013d3ad6d84be130&target_ver=28'
  122.  
  123. w1 = random.choice(string.ascii_letters)
  124. w2 = random.choice(string.ascii_letters)
  125. w3 = random.choice(string.ascii_letters)
  126. w4 = random.choice(string.ascii_letters)
  127. w6 = random.randint(100, 999)
  128. cert = 'f4a04c9ba34b32452da77667013d3ad6d' + w1 + w2 + str(w6) + w3 + w4
  129. print('cert = ' + cert)
  130. data = 'X-subtype=' + '1070988214604' + '&sender=' + '1070988214604' + '&X-app_ver=11336&X-osv=23&X-cliv=fiid-12451000&X-gmsv=200414020&X-appid=dnSmOcQ0tOE&X-scope=*&X-gmp_app_id=1%3A1070988214604%3Aandroid%3Adcc7930e54fffe52&X-app_ver_name=6.2.3&app=ru.burgerking&device=3930438852391837441&app_ver=11336&info=A_NoGBX1avQeUO6eTSP7b7X4Iv5GBhc&gcm_ver=200414020&plat=0&cert=' + cert + '&target_ver=28'
  131.  
  132. r = requests.post(url, data=data, headers=headers)
  133.  
  134. print(r.text)
  135. print(r)
  136. token = r.text[6:]
  137. print(token)
  138.  
  139.  
  140. ##############################################
  141. time.sleep(2)
  142.  
  143.  
  144. url = 'https://orderapp.burgerking.ru/api/v1/auth'
  145.  
  146. payload = {'firebase_token': token,'phone': phone,'try':1}
  147.  
  148.  
  149. headers = {
  150. 'Content-Type': 'application/json; charset=UTF-8',
  151. 'Content-Length': '204',
  152. 'Host': 'orderapp.burgerking.ru',
  153. 'Connection': 'Keep-Alive',
  154. 'Accept-Encoding': 'gzip',
  155. 'User-Agent': 'okhttp/3.11.0',
  156. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  157. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  158. 'x-burgerking-version': '6.2.3_11336',
  159. 'x-burgerking-platform': 'android',
  160. }
  161.  
  162.  
  163. r = requests.post(url, data=json.dumps(payload), headers=headers)
  164.  
  165. print(r.text)
  166. print(r)
  167. json_response = r.json()
  168. print(json_response)
  169.  
  170. hash1 = json_response['response']['hash']
  171. print(hash1)
  172.  
  173.  
  174. ##################################
  175.  
  176. url2 = 'https://vak-sms.com/api/getSmsCode/?apiKey={apiKey}&idNum={idNum}'.format(
  177. apiKey = vakapi,
  178. idNum = idNum,
  179. )
  180.  
  181. for j in range(5):
  182. time.sleep(10)
  183. r2 = requests.get(url2)
  184. json_response2 = r2.json()
  185. code = json_response2['smsCode']
  186. #print(json_response2)
  187. #print(password)
  188. if code != None:
  189. print('Код из смс - ', code)
  190. break
  191. print('Прошло ' + str(j*10+10) + ' секунд, код не пришёл')
  192. else:
  193. print('Что-то мне нехорошо, проверить ещё раз?')
  194. context.bot.send_message(chat_id=update.effective_chat.id, text='смс короче не пришла', reply_keyboard=reply_keyboard)
  195.  
  196.  
  197. if code!=None:
  198.  
  199.  
  200.  
  201.  
  202. ###################################
  203.  
  204. payload = {"hash":hash1,"phone":phone,"code":code}
  205.  
  206.  
  207. headers = {
  208. 'Content-Type': 'application/json; charset=UTF-8',
  209. 'Content-Length': '80',
  210. 'Host': 'orderapp.burgerking.ru',
  211. 'Connection': 'Keep-Alive',
  212. 'Accept-Encoding': 'gzip',
  213. 'User-Agent': 'okhttp/3.11.0',
  214. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  215. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  216. 'x-burgerking-version': '6.2.3_11336',
  217. 'x-burgerking-platform': 'android',
  218. }
  219.  
  220.  
  221. r = requests.post(url, data=json.dumps(payload), headers=headers)
  222.  
  223. print(r.text)
  224. print(r)
  225. json_response = r.json()
  226. print(json_response)
  227.  
  228. ######################################
  229.  
  230.  
  231.  
  232. browser = webdriver.Chrome()
  233. browser.get('https://temp-mail.org/')
  234. wait = WebDriverWait(browser, 500)
  235. wait.until(EC.element_to_be_clickable((By.XPATH, "//form/div/button")))
  236.  
  237. a = browser.find_element_by_xpath("//form/div/button")
  238. a.click()
  239. email = pyperclip.paste()
  240.  
  241.  
  242.  
  243. print(email)
  244. context.bot.send_message(chat_id=update.effective_chat.id, text='Вычленил почту - ' + str(email))
  245. m = hashlib.md5()
  246. m.update(email.encode('utf-8'))
  247. md5 = str(m.hexdigest())
  248. print(md5)
  249.  
  250.  
  251.  
  252.  
  253.  
  254. ####################################
  255. time.sleep(2)
  256.  
  257. url = 'https://orderapp.burgerking.ru/api/v1/auth/token'
  258.  
  259.  
  260.  
  261. name = 'Sega'
  262. invite = 'PRIVET'
  263. payload = {"hash":hash1,"phone":phone,"code":code,"user":{"email":email,"invite":invite,"name":name}}
  264.  
  265.  
  266.  
  267. headers = {
  268. 'Content-Type': 'application/json; charset=UTF-8',
  269. 'Content-Length': '157',
  270. 'Host': 'orderapp.burgerking.ru',
  271. 'Connection': 'Keep-Alive',
  272. 'Accept-Encoding': 'gzip',
  273. 'User-Agent': 'okhttp/3.11.0',
  274. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  275. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  276. 'x-burgerking-version': '6.2.3_11336',
  277. 'x-burgerking-platform': 'android',
  278. }
  279.  
  280.  
  281. r = requests.post(url, data=json.dumps(payload), headers=headers)
  282.  
  283. print(r.text)
  284. print(r)
  285. json_response = r.json()
  286. print(json_response)
  287. print(json_response['response'])
  288. burgerking_token = json_response['response']['token']
  289. print(burgerking_token)
  290.  
  291. ##########################
  292.  
  293. url = 'https://orderapp.burgerking.ru/api/v1/user/info'
  294.  
  295. headers = {
  296. 'x-burgerking-token': burgerking_token,
  297. 'Host': 'orderapp.burgerking.ru',
  298. 'Connection': 'Keep-Alive',
  299. 'Accept-Encoding': 'gzip',
  300. 'User-Agent': 'okhttp/3.11.0',
  301. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  302. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  303. 'x-burgerking-version': '6.2.3_11336',
  304. 'x-burgerking-platform': 'android',
  305. }
  306.  
  307.  
  308. r = requests.get(url, headers=headers)
  309.  
  310. print(r.text)
  311. print(r)
  312. json_response = r.json()
  313. print(json_response['response']['subscribed_ext']['email'])
  314.  
  315.  
  316.  
  317.  
  318. #######################
  319. time.sleep(40)
  320.  
  321. url = 'https://privatix-temp-mail-v1.p.mashape.com/request/mail/id/' + md5 +'/'
  322.  
  323.  
  324. headers = {
  325. "x-rapidapi-host": "privatix-temp-mail-v1.p.rapidapi.com",
  326. "x-rapidapi-key": "5325bb815fmsh78375b60c0bf6a8p1b3a94jsn742f7d93b292",
  327. }
  328.  
  329.  
  330. r = requests.get(url, headers=headers)
  331. json_response = r.json()
  332. print(r.text)
  333. print(json_response)
  334. if (json_response == {"error":"There are no emails yet"}) or (r.text == '{"error":"There are no emails yet"}'):
  335. print('письмо не пришло, тут потом допишу проверку')
  336. else:
  337. d = json_response[0]
  338.  
  339. mail = d['mail_text']
  340.  
  341. print(mail)
  342.  
  343.  
  344. url_pattern = r'http://[\S]+'
  345. urls = re.findall(url_pattern, mail)
  346.  
  347. for url in urls:
  348. print(url)
  349. print()
  350.  
  351.  
  352. need = urls[2][:-1]
  353. print(need)
  354. context.bot.send_message(chat_id=update.effective_chat.id, text='Та самая ссылка - ' + str(need))
  355.  
  356.  
  357. ########################
  358.  
  359. r = requests.get(need)
  360.  
  361. ############################
  362.  
  363.  
  364.  
  365. time.sleep(5)
  366.  
  367. url = 'https://orderapp.burgerking.ru/api/v1/user/info'
  368.  
  369.  
  370. headers = {
  371. 'x-burgerking-token': burgerking_token,
  372. 'Host': 'orderapp.burgerking.ru',
  373. 'Connection': 'Keep-Alive',
  374. 'Accept-Encoding': 'gzip',
  375. 'User-Agent': 'okhttp/3.11.0',
  376. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  377. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  378. 'x-burgerking-version': '6.2.3_11336',
  379. 'x-burgerking-platform': 'android',
  380. }
  381.  
  382.  
  383. r = requests.get(url, headers=headers)
  384.  
  385. print(r.text)
  386. print(r)
  387. json_response = r.json()
  388. #print(json_response)
  389. #print(json_response['response'])
  390. #print(json_response['response']['subscribed_ext'])
  391. print(json_response['response']['subscribed_ext']['email'])
  392. context.bot.send_message(chat_id=update.effective_chat.id, text='Подтверждена ли чопта - ' + str(json_response['response']['subscribed_ext']['email']))
  393.  
  394.  
  395. ###########################
  396. time.sleep(2)
  397.  
  398.  
  399. url = 'https://orderapp.burgerking.ru/api/v1/user/coupons?restaurant=11&count_dishes=all&is_delivery=0'
  400.  
  401. headers = {
  402. 'x-burgerking-token': burgerking_token,
  403. 'Host': 'orderapp.burgerking.ru',
  404. 'Connection': 'Keep-Alive',
  405. 'Accept-Encoding': 'gzip',
  406. 'User-Agent': 'okhttp/3.11.0',
  407. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  408. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  409. 'x-burgerking-version': '6.2.3_11336',
  410. 'x-burgerking-platform': 'android',
  411. }
  412.  
  413.  
  414. r = requests.get(url, headers=headers)
  415.  
  416. print(r.text)
  417. print(r)
  418. json_response = r.json()
  419. print(json_response)
  420.  
  421. ############################
  422. time.sleep(2)
  423.  
  424. url = 'https://orderapp.burgerking.ru/api/v1/action/log'
  425.  
  426. headers = {
  427. 'Content-Type': 'application/json; charset=UTF-8',
  428. 'Content-Length': '45',
  429. 'Host': 'orderapp.burgerking.ru',
  430. 'Connection': 'Keep-Alive',
  431. 'Accept-Encoding': 'gzip',
  432. 'User-Agent': 'okhttp/3.11.0',
  433. 'User-Agent': '{ "id":"4eeab96a-76f4-4943-9c1e-6ae2d3245352", "vendor":"Wileyfox", "model":"Swift 2 Plus", "os":"android", "os_ver":"3.18.24-cyanogen-g91f1476", "os_api":"23"}',
  434. 'x-burgerking-id': '4eeab96a-76f4-4943-9c1e-6ae2d3245352',
  435. 'x-burgerking-version': '6.2.3_11336',
  436. 'x-burgerking-platform': 'android',
  437. }
  438.  
  439.  
  440. r = requests.post(url, data = '[{"action":"open_coupon","extras":"id=1303"}]', headers=headers)
  441.  
  442. print(r.text)
  443. print(r)
  444. json_response = r.json()
  445. print(json_response)
  446. browser.quit()
  447.  
  448.  
  449. ############################
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457. context.bot.send_message(chat_id=update.effective_chat.id, text='Так бля, ну пробуй',
  458. reply_markup=ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True))
  459. return MAINMENU
  460. except Exception as x:
  461. print ("Ошибка3: ", x)
  462. else:
  463. print('не понял')
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485. def main():
  486. apiToken = '1099200944:AAE38VFFX4xLK0oVA5iNRyQHAo9cptyhipQ'
  487. updater = Updater(token=apiToken, use_context=True)
  488. dp = updater.dispatcher
  489.  
  490. conv_handler = ConversationHandler(
  491. entry_points=[CommandHandler('start', start)],
  492.  
  493. states={
  494. MAINMENU: [MessageHandler(Filters.all, mainmenu)],
  495. },
  496.  
  497. fallbacks=[],
  498. allow_reentry=False,
  499. )
  500.  
  501. dp.add_handler(conv_handler)
  502.  
  503.  
  504. updater.start_polling()
  505. updater.idle()
  506.  
  507.  
  508.  
  509. if __name__ == '__main__':
  510. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement