Advertisement
loon4tic

[Python] Toontown Rewritten Direct Launcher

Apr 8th, 2016
825
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.38 KB | None | 0 0
  1. import getpass
  2. import urllib
  3. import sys
  4. import os
  5. import json
  6. import time
  7. import platform
  8.  
  9. class TTRQuickLauncher:
  10.  
  11.     login_url = 'https://www.toontownrewritten.com/api/login?format=json'
  12.        
  13.     username = 'UserID'
  14.     password = 'UserPass' #getpass hides the password's from showing up on screen, like Unix does.
  15.  
  16.     def __init__(self):
  17.         login = urllib.urlencode({'username': self.username, 'password': self.password})
  18.         self.postRequest(login)
  19.  
  20.     def postRequest(self, request):
  21.         post = urllib.urlopen(self.login_url, request)
  22.         resp = json.loads(post.read())
  23.  
  24.         success = resp.get('success', 'false')
  25.        
  26.         if success == 'true':
  27.             os.environ['TTR_PLAYCOOKIE'] = resp.get('cookie', 'CookieNotFound')
  28.             os.environ['TTR_GAMESERVER'] = resp.get('gameserver', 'ServerNotFound')
  29.             system = platform.system()
  30.             if system == 'Windows':
  31.                 os.system('TTREngine.exe')
  32.             elif system == 'Linux':
  33.                 os.system('./TTREngine')
  34.             else:
  35.                 print 'Platform %s isn\' supported yet.' %system
  36.  
  37.         elif success == 'delayed':
  38.             eta = resp.get('eta', '5')
  39.             position = resp.get('position', '0')
  40.             token = resp.get('queueToken', None)
  41.  
  42.             if token == None:
  43.                 print "No queue token was given. This is not supposed to be possible!"
  44.             else:
  45.                 print "You're in %s in line. ETA: %s\n" % (position, eta)
  46.                 time.sleep(1)
  47.                 queueRequest = urllib.urlencode({'queueToken': token})
  48.                 self.postRequest(queueRequest)
  49.  
  50.         elif success == 'partial':
  51.             banner = resp.get('banner', 'Please enter an authenticator token')
  52.             authToken = resp.get('responseToken', None)
  53.  
  54.             if authToken == None:
  55.                 print "A auth token for response couldn't be found."
  56.             else:
  57.                 appToken = raw_input(banner + '\n')
  58.  
  59.                 authRequest = urllib.urlencode({'appToken': appToken, 'authToken': authToken})
  60.                 self.postRequest(authRequest)
  61.  
  62.         elif success == 'false':
  63.             banner = resp.get('banner', "Login have failed, but the reason why was not given. Try again later.")
  64.             print banner
  65.  
  66.        
  67. TTRQuickLauncher = TTRQuickLauncher()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement