message_maizi_gas.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # -*- coding: utf-8 -*-
  2. '''
  3. 获取麦子钱包实时 gas
  4. '''
  5. import os
  6. import sys
  7. sys.path.append(os.path.join(os.path.abspath(__file__).split('auto')[0] + 'auto'))
  8. from utils.utils_send_gotify import *
  9. url = "https://a5.maiziqianbao.net/api/v1/chains/EVM/1/gas_price"
  10. headers = {
  11. "Host": "a5.maiziqianbao.net",
  12. "Connection": "keep-alive",
  13. "x-req-token": "MDbO4FsaSUPdjCdvTUs2zY4V3rnvvYatvYyjz7SfY+aCJ8r+RFm06X2dGR8eEDK7Gc5g1TLEQySEhGerRXbDT/NS+e5QAWRU68yD8m4y/aKK+TBkIv90VwvxmvYId2BVoDPDHQCGG4o3EqRWkS93eV0twYQ7w7qvNUj2e3tpDcUZYuplPyLozgYVTegFPnDk",
  14. "Accept": "*/*",
  15. "x-app-type": "iOS-5",
  16. "x-app-ver": "1.0.1",
  17. "x-app-udid": "419815AD-3015-4B5A-92CA-3BCBED24ACEC",
  18. "x-app-locale": "en",
  19. "Accept-Language": "zh-Hans-CN;q=1.0, en-CN;q=0.9",
  20. "Accept-Encoding": "br;q=1.0, gzip;q=0.9, deflate;q=0.8",
  21. "User-Agent": "MathGas/1.0.1 (MathWallet.MathGas; build:3; macOS 13.5.0) Alamofire/5.4.4"
  22. }
  23. response = httpx.get(url, headers=headers)
  24. if response.status_code != 200:
  25. print("Error:", response.status_code)
  26. exit(0)
  27. if not response.json():
  28. print("Error: No response")
  29. exit(0)
  30. remove_last_n_chars = lambda n, n_chars=9: int(str(n)[:-n_chars]) if len(str(n)) > n_chars else n
  31. try:
  32. data = response.json()['data']
  33. fastest = remove_last_n_chars(data['fastest']['price'])
  34. fast = remove_last_n_chars(data['fast']['price'])
  35. standard = remove_last_n_chars(data['standard']['price'])
  36. low = remove_last_n_chars(data['low']['price'])
  37. base = remove_last_n_chars(data['base']['price'])
  38. result = f'fastest: {fastest}\nfast: {fast}\nstandard: {standard}\nlow: {low}\nbase: {base}'
  39. print(result)
  40. if int(fastest) > 30 or int(fast) > 30 or int(standard) > 30 or int(low) > 30 or int(base) > 30:
  41. # 推送到 message
  42. GotifyNotifier('gas 费大于 30', result, 'coin').send_message()
  43. elif int(fastest) < 5 or int(fast) < 5 or int(standard) < 5 or int(low) < 5 or int(base) < 5:
  44. # 推送到 message
  45. GotifyNotifier('gas 费小于 5', result, 'coin').send_message()
  46. except Exception as e:
  47. print(e)
  48. exit(0)