コード例 #1
0
ファイル: connect.py プロジェクト: MousePak/Tools
def get(endpoint,data):

    # Define URL
    url = db.get_setting('server') + "Presentation/Service.svc/ajaxEndpoint/" + endpoint

    # Encode data
    data = json.dumps(data)

    # Replace ## with \f (because I can't get it escaped beforehand for some odd reason)
    data = data.replace('##',r'\f')
    
    # Add URL + data to request
    r = urllib2.Request(url,data)

    # Add extra headers
    r.add_header('Content-Type', 'application/json')
    r.add_header('X-Qooxdoo-Reponse-Type', 'application/json')
    r.add_header('Referer', db.get_setting('server') + 'index.aspx')

    # Make request, decode and return
    try:
        r = urllib2.urlopen(r)
        d = json.loads(r.read())
    except ValueError:
        d = None
    except urllib2.URLError as e:
        d = None
        print 'URL Error', e
        if 'HTTP Error 503' in e:
            print 'pausing for 10 seconds....'
            import time
            time.sleep(10)


    return d
コード例 #2
0
ファイル: connect.py プロジェクト: MousePak/Tools
def new_session():
    print "Connecting new session."
    # Build opener with cookies
    o = urllib2.build_opener(urllib2.HTTPCookieProcessor())
    urllib2.install_opener(o)

    # Encode data
    data = urllib.urlencode({'mail':db.get_setting('email'), 'password':db.get_setting('password')})

    # Do the login...
    r = o.open('https://www.lordofultima.com/en/user/login', data)
    response = r.read()
    r.close()

    # Extract session ID
    s = response.find('Id" value="')
    p = s + 11
    sess = response[p:p+36]

    # Generate session key from session ID
    key = get("OpenSession",{'session':sess,'reset':'false'})
    key = key['i']

    # Save session key to database
    db.set_setting('session',key)

    # Connect session to continent chat
    poll(("CHAT:/c 11",))

    return key
コード例 #3
0
ファイル: bot.py プロジェクト: MousePak/Tools
def whisper(message, target = None):
    if not target:
        target = database.get_setting('lastwhisper')

    print 'whispered ---> [' + target + ']' + message

    return connect.poll(("CHAT:/w " + target + ' ' + message,),True)
コード例 #4
0
ファイル: bot.py プロジェクト: MousePak/Tools
def output(message,chatroom='A'):
    print('said --> [%s] %s'%(chatroom, message))

    text = "CHAT:"
    if chatroom == 'C':
        text += message
    elif 'rivatein' in chatroom:
        text += '/w ' + database.get_setting('lastwhisper') + ' ' + message
    else:
        text += "/a " + message

    connect.poll((text,),True)
    return True
コード例 #5
0
ファイル: connect.py プロジェクト: MousePak/Tools
def get_session(test=False):

    # Get stored session from DB
    session = db.get_setting('session')

    # Test session if required
    # If test fails or no session is found, generate a new one
    if test:
        session = test_session()

    if not session:
        session = new_session()

    return session
コード例 #6
0
ファイル: run.py プロジェクト: MousePak/Tools
def runbot():
    print 'hbot [%s] starting up, master!'%database.get_setting('username')
    while 1:
        bot.check()
        time.sleep(config.SPEED)
コード例 #7
0
ファイル: test.py プロジェクト: ThomasPfeiffer/Uelfbot
def testUnkown(inp):
    response = responder.reply_to_unknown_chat(inp)
    if not response:
        print 'Response is empty'
        return
    main.send(database.get_setting(Setting.ADMIN_ID), response)