Advertisement
Guest User

Untitled

a guest
Oct 14th, 2016
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. import logging
  2. import os
  3. import gevent
  4.  
  5. from steam import SteamClient
  6. from steam.enums import EResult
  7. from dota2.client import Dota2Client
  8.  
  9. hdlr = logging.FileHandler('steam_run.log', mode='w')
  10. logging.basicConfig(
  11. format='[%(asctime)s] %(levelname)s %(name)s: %(message)s',
  12. level=logging.DEBUG)
  13.  
  14.  
  15. logOnDetails = {
  16. 'username': '<username>',
  17. 'password': '<password>',
  18. }
  19.  
  20. client = SteamClient()
  21. client._LOG.addHandler(hdlr)
  22. client._LOG.setLevel(logging.DEBUG)
  23.  
  24. sentries_path = os.path.abspath('sentries')
  25. client.set_credential_location(sentries_path)
  26. client.verbose_debug = True
  27.  
  28. dota2 = Dota2Client(client)
  29. dota2._LOG.addHandler(hdlr)
  30. dota2._LOG.setLevel(logging.DEBUG)
  31. dota2.verbose_debug = True
  32.  
  33.  
  34. @client.on('connected')
  35. def login():
  36. client.login(**logOnDetails)
  37.  
  38.  
  39. @client.on('logged_on')
  40. def start_dota2():
  41. logging.info("Logged in successfully!")
  42. dota2.launch()
  43.  
  44.  
  45. @dota2.on('ready')
  46. def do_some_in_dota():
  47. steamId64 = 76561198022766961
  48. dota2.invite_to_party(steamId64)
  49. # give time to accept party
  50. gevent.sleep(10)
  51. dota2.leave_party()
  52. gevent.sleep(5)
  53. dota2.invite_to_party(steamId64)
  54. # give time to accept party
  55. gevent.sleep(10)
  56. dota2.set_party_coach(True)
  57. gevent.sleep(5)
  58. dota2.set_party_leader(steamId64)
  59. gevent.sleep(5)
  60. dota2.leave_party()
  61.  
  62.  
  63. @client.on('error')
  64. def print_error(result):
  65. print "Error:", EResult(result)
  66.  
  67.  
  68. @client.on('auth_code_required')
  69. def auth_code_prompt(is_2fa, code_mismatch):
  70. if is_2fa:
  71. code = raw_input("Enter 2FA Code: ")
  72. client.login(two_factor_code=code, **logOnDetails)
  73. else:
  74. code = raw_input("Enter Email Code: ")
  75. client.login(auth_code=code, **logOnDetails)
  76.  
  77. try:
  78. client.connect()
  79. client.run_forever()
  80. except KeyboardInterrupt:
  81. dota2.leave_party()
  82. client.logout()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement