Exemplo n.º 1
0
def qrLogin():
    Headers.update({'x-lpqs': '/api/v4/TalkService.do'})
    transport = THttpClient.THttpClient(
        'https://gd2.line.naver.jp/api/v4/TalkService.do')
    transport.setCustomHeaders(Headers)
    protocol = TCompactProtocol.TCompactProtocol(transport)
    client = LineService.Client(protocol)
    qr = client.getAuthQrcode(keepLoggedIn=1, systemName=nama)
    link = "line://au/q/" + qr.verifier
    print(link)
    Headers.update({
        "x-lpqs": '/api/v4/TalkService.do',
        'X-Line-Access': qr.verifier
    })
    json.loads(requests.session().get('https://gd2.line.naver.jp/Q',
                                      headers=Headers).text)
    Headers.update({'x-lpqs': '/api/v4p/rs'})
    transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
    transport.setCustomHeaders(Headers)
    protocol = TCompactProtocol.TCompactProtocol(transport)
    client = LineService.Client(protocol)
    req = LoginRequest()
    req.type = 1
    req.verifier = qr.verifier
    req.e2eeVersion = 1
    res = client.loginZ(req)
    print('\n')
    print(res.authToken)
Exemplo n.º 2
0
def qrLogin():
    
    #Update Headers pertama
    Headers.update({'x-lpqs' : '/api/v4/TalkService.do'})

    #membentuk Transport
    transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4/TalkService.do')
    transport.setCustomHeaders(Headers)

    #membentuk Protokol
    protocol = TCompactProtocol.TCompactProtocol(transport)

    #membuat client pertama
    client = LineService.Client(protocol)

    #mengambil QR Code
    qr = client.getAuthQrcode(keepLoggedIn=1, systemName=nama)
    #Hasil : (qrcode=u'data:image/jpeg;base64, BlaBlaBla, verifier=u'32digit'

    #ambil qr.verifier 32digit dan print untuk proses Login
    link = "line://au/q/" + qr.verifier
    print(link)

#:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-#
#:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-#

    #Update Headers kedua
    Headers.update({"x-lpqs" : '/api/v4/TalkService.do', 'X-Line-Access': qr.verifier})
    #membuntuk Session
    json.loads(requests.session().get('https://gd2.line.naver.jp/Q', headers=Headers).text)
    #Hasil : {u'timestamp': u'1522246627842', u'result': {u'verifier': u'32digit', u'authPhase': u'QRCODE_VERIFIED', u'metadata': {}}}

#:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-#
#:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-#

    #Update Headers ketiga
    Headers.update({'x-lpqs' : '/api/v4p/rs'})

    #membuat client kedua
    transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
    transport.setCustomHeaders(Headers)
    protocol = TCompactProtocol.TCompactProtocol(transport)
    client = LineService.Client(protocol)

    #membuat parameter LoginRequest
    req = LoginRequest()
    req.type = 1
    req.verifier = qr.verifier
    req.e2eeVersion = 1
    #Hasil : (identifier=None, identityProvider=None, certificate=None, e2eeVersion=1, secret=None, keepLoggedIn=None, verifier=u'32digit', systemName=None, accessLocation=None, password=None, type=1)

    #Proses Login
    res = client.loginZ(req)
    #Hasil : (authToken=u'HasilToken', displayMessage=None, certificate=u'Sertifikat', sessionForSMSConfirm=None, pinCode=None, verifier=None, lastPrimaryBindTime=1521439494501L, type=1)

    #Cetak Token
    print('\n')
    print(res.authToken)
Exemplo n.º 3
0
def bot(op):
    try:
        if op.type == 0:
            return
        if op.type == 5:
            if wait["autoAdd"] == True:
                cl.findAndAddContactsByMid(op.param1)
                if (wait["message"] in ["", " ", "\n", None]):
                    pass
                else:
                    cl.sendText(op.param1, str(wait["message"]))

        if op.type == 13:
            if mid in op.param3:
                if wait["autoJoin"] == True:
                    if op.param2 in creator + admin:
                        cl.acceptGroupInvitation(op.param1)
                    else:
                        cl.rejectGroupInvitation(op.param1)
                else:
                    print("autoJoin is Off")

        if op.type == 22:
            if wait["leaveRoom"] == True:
                cl.leaveRoom(op.param1)
        if op.type == 24:
            if wait["leaveRoom"] == True:
                cl.leaveRoom(op.param1)
        if op.type == 26:
            msg = op.message
            if msg.toType == 1:
                if wait["leaveRoom"] == True:
                    cl.leaveRoom(msg.to)
        if op.type == 26:
            msg = op.message
            if msg.text in [".help"]:
                if msg.from_ in creator + admin:
                    if wait["lang"] == "JP":
                        cl.sendText(msg.to, helpMessage1)

        if op.type == 26:
            msg = op.message
            if msg.text in [".headers"]:
                if msg.from_ in creator + admin:
                    if wait["lang"] == "JP":
                        cl.sendText(msg.to, helpMessage2)

            #____________________REBOOT_________________________________
            elif msg.text.lower().startswith(".reboot"):
                if msg.from_ in creator + admin:
                    print("[Command]Reboot")
                    try:
                        cl.sendText(msg.to, "I'Il come back later")
                        cl.sendText(msg.to, "Restarted done ")
                        restart_program()
                    except:
                        cl.sendText(msg.to, "Please wait")
                        restart_program()
                        pass

#______________________________
            elif msg.text.lower().startswith(".admin:on "):
                if msg.from_ in creator:
                    if msg.toType == 2:
                        key = eval(msg.contentMetadata["MENTION"])
                        key["MENTIONEES"][0]["M"]
                        targets = []
                        for x in key["MENTIONEES"]:
                            targets.append(x["M"])
                        for target in targets:
                            try:
                                admin.append(target)
                                f = codecs.open('st2__admin.json', 'w',
                                                'utf-8')
                                json.dump([admin],
                                          f,
                                          sort_keys=True,
                                          indent=4,
                                          ensure_ascii=False)
                                jp = cl.getContact(target).displayName
                                jp1 = cl.getContact(msg.from_).displayName
                                cl.sendText(
                                    msg.to,
                                    jp + " has been promoted admin by " + jp1)
                            except:
                                pass

#______________________________
            elif msg.text.lower().startswith(".expel:on "):
                if msg.from_ in creator:
                    if msg.toType == 2:
                        key = eval(msg.contentMetadata["MENTION"])
                        key["MENTIONEES"][0]["M"]
                        targets = []
                        for x in key["MENTIONEES"]:
                            targets.append(x["M"])
                        for target in targets:
                            try:
                                admin.remove(target)
                                f = codecs.open('st2__admin.json', 'w',
                                                'utf-8')
                                json.dump([admin],
                                          f,
                                          sort_keys=True,
                                          indent=4,
                                          ensure_ascii=False)
                                jp = cl.getContact(target).displayName
                                jp1 = cl.getContact(msg.from_).displayName
                                cl.sendText(
                                    msg.to,
                                    jp + " has been expelled admin by " + jp1)
                            except:
                                pass

#_______________STAFF_________
            elif msg.text.lower().startswith(".staff"):
                if msg.from_ in creator + admin:
                    if creator == []:
                        if admin == []:
                            cl.sendText(msg.to, "Not stafflist")
                    num = 0
                    mc1 = ""
                    for mi_d in admin:
                        mc1 += "%i - %s\n" % (num,
                                              cl.getContact(mi_d).displayName)
                        num = (num + 1)
                    mc2 = ""
                    for mi_d in creator:
                        mc2 += "%i - %s\n" % (num,
                                              cl.getContact(mi_d).displayName)
                        num = (num + 1)
                    cl.sendText(
                        msg.to, "Admins :\n\n" + mc1 + "\nOwners :\n\n" + mc2 +
                        "\n\nBot Login v1.11")
                    print("[Command]Stafflist executed")

#______________LOGIN WIN ____________________
            elif msg.text.lower().startswith("loginwin"):
                if msg.from_ in creator + admin:
                    separate = msg.text.split(" ")
                    jmlh = int(separate[1])
                    for x in range(jmlh):
                        Headers.update({'x-lpqs': '/api/v4/TalkService.do'})
                        transport = THttpClient.THttpClient(
                            'https://gd2.line.naver.jp/api/v4/TalkService.do')
                        transport.setCustomHeaders(Headers)
                        protocol = TCompactProtocol.TCompactProtocol(transport)
                        client = LineService.Client(protocol)
                        qr = client.getAuthQrcode(keepLoggedIn=1,
                                                  systemName=nama1)
                        link = "line://au/q/" + qr.verifier
                        print(link)
                        cl.sendText(msg.to, "Starting white true")
                        cl.sendText(msg.to, "Except")
                        cl.sendText(msg.to, str(link))
                        Headers.update({
                            "x-lpqs": '/api/v4/TalkService.do',
                            'X-Line-Access': qr.verifier
                        })
                        json.loads(requests.session().get(
                            'https://gd2.line.naver.jp/Q',
                            headers=Headers).text)
                        Headers.update({'x-lpqs': '/api/v4p/rs'})
                        transport = THttpClient.THttpClient(
                            'https://gd2.line.naver.jp/api/v4p/rs')
                        transport.setCustomHeaders(Headers)
                        protocol = TCompactProtocol.TCompactProtocol(transport)
                        client = LineService.Client(protocol)
                        req = LoginRequest()
                        req.type = 1
                        req.verifier = qr.verifier
                        req.e2eeVersion = 1
                        res = client.loginZ(req)
                        print('\n')
                        print(res.authToken)
                    else:
                        cl.sendText(msg.to,
                                    "The bot has been mmade with header 1")
                        cl.sendText(msg.to, str(res.authToken))

#______________LOGIN MAC____________________
            elif msg.text.lower().startswith("loginmac"):
                if msg.from_ in creator + admin:
                    separate = msg.text.split(" ")
                    jmlh = int(separate[1])
                    for x in range(jmlh):
                        Headers2.update({'x-lpqs': '/api/v4/TalkService.do'})
                        transport = THttpClient.THttpClient(
                            'https://gd2.line.naver.jp/api/v4/TalkService.do')
                        transport.setCustomHeaders(Headers2)
                        protocol = TCompactProtocol.TCompactProtocol(transport)
                        client = LineService.Client(protocol)
                        qr = client.getAuthQrcode(keepLoggedIn=1,
                                                  systemName=nama2)
                        link = "line://au/q/" + qr.verifier
                        print(link)
                        cl.sendText(msg.to, "Starting white true")
                        cl.sendText(msg.to, "Except")
                        cl.sendText(msg.to, str(link))
                        Headers2.update({
                            "x-lpqs": '/api/v4/TalkService.do',
                            'X-Line-Access': qr.verifier
                        })
                        json.loads(requests.session().get(
                            'https://gd2.line.naver.jp/Q',
                            headers=Headers2).text)
                        Headers2.update({'x-lpqs': '/api/v4p/rs'})
                        transport = THttpClient.THttpClient(
                            'https://gd2.line.naver.jp/api/v4p/rs')
                        transport.setCustomHeaders(Headers2)
                        protocol = TCompactProtocol.TCompactProtocol(transport)
                        client = LineService.Client(protocol)
                        req = LoginRequest()
                        req.type = 1
                        req.verifier = qr.verifier
                        req.e2eeVersion = 1
                        res = client.loginZ(req)
                        print('\n')
                        print(res.authToken)
                    else:
                        cl.sendText(msg.to,
                                    "The bot has been mmade with header 2")
                        cl.sendText(msg.to, str(res.authToken))

#_________________BYE BOT________________________
            elif msg.text.lower().startswith(".@bye"):
                if msg.from_ in creator + admin:
                    if msg.toType == 2:
                        ginfo = cl.getGroup(msg.to)
                        try:
                            cl.sendText(msg.to, "Bye Bye " + str(ginfo.name))
                            cl.leaveGroup(msg.to)
                        except:
                            pass
#________________INVITE VIA NO ____________
            elif msg.text.lower().startswith(".invite "):
                if msg.from_ in creator + admin:
                    nomor = msg.text.replace(".invite ", "")
                    G = cl.getGroupIdsJoined()
                    cgroup = cl.getGroups(G)
                    for x in range(len(cgroup)):
                        try:
                            if nomor == str(x):
                                gid = cgroup[x].id
                                gname = cgroup[x].name
                                cl.inviteIntoGroup(gid, [msg.from_])
                                cl.sendText(msg.to, "Invited to %s" % (gname))
                                print(gid)
                        except Exception as error:
                            cl.sendText(msg.to, "Failed")
                        except:
                            pass

#________________CEK GROUP____________________
            elif msg.text.lower().startswith(".groups"):
                if msg.from_ in creator + admin:
                    G = cl.getGroupIdsJoined()
                    cgroup = cl.getGroups(G)
                    ngroup = ""
                    for x in range(len(cgroup)):
                        ngroup += "\n" + str(
                            x) + " - " + cgroup[x].name + " ( " + str(
                                len(cgroup[x].members)) + " )"
                    pass
                    cl.sendText(
                        msg.to, "List Group:\n%s\n\nTotal Group: %s" %
                        (ngroup, str(len(cgroup))))

#___________________MY GROUP______________________________
            elif msg.text.lower().startswith(".mygroups"):
                if msg.from_ in creator:
                    gid = cl.getGroupIdsJoined()
                    num = 1
                    h = ""
                    for i in gid:
                        h += " %i. %s\n" % (num, cl.getGroup(i).name + " (" +
                                            str(len(cl.getGroup(i).members)) +
                                            ")")
                        num = (num + 1)
                        jp1 = cl.getContact(msg.from_).displayName
                    cl.sendText(
                        msg.to, "Groups : " + jp1 + "\n\n" + h +
                        "\nTotal Groups  = " + "" + str(len(gid)) + "")

            elif msg.text.lower().startswith(".leave allgroups"):
                if msg.from_ in creator:
                    gid = cl.getGroupIdsJoined()
                    for i in gid:
                        cl.leaveGroup(i)

#_________________SAY_____________________
            elif msg.text.lower().startswith(".say "):
                if msg.from_ in creator + admin:
                    bctxt = msg.text.replace(".say ", "")
                    cl.sendText(msg.to, (bctxt))

#______________RESPONSENAME_________________________
            elif msg.text.lower().startswith(".ping"):
                if msg.from_ in creator + admin:
                    cl.sendText(msg.to, "pong")

        if op.type == 59:
            print(op)

    except Exception as error:
        print(error)
Exemplo n.º 4
0
def bot(op):
    try:
        if op.type == 0:
            return
        if op.type == 5:
            contact = token.getContact(op.param1)
            if wait["autoAdd"] == True:
                token.findAndAddContactsByMid(op.param1)
                print ("[ 5 ] 通知添加好友: " + contact.displayName)
                if (wait["message"] in [""," ","\n",None]):
                    pass
                else:
                    token.sendText(op.param1,str(wait["message"]))
                                     
        if op.type == 13:
            group = token.getGroup(op.param1)
            inviter = token.getContact(op.param2)
            print ("[ 13 ] 通知邀請群組: " + str(group.name) + "\n邀請者: " + inviter.displayName)
            if mid in op.param3:
              if wait["autoJoin"] == True:
                token.acceptGroupInvitation(op.param1)
                token.sendText(op.param1,"請輸入help查看指令")
            
        if op.type == 21 or op.type == 22 or op.type ==24:
            if wait["leaveRoom"] == True:
                token.leaveRoom(op.param1)
                print ("[ 24 ] 通知離開副本")

        if (op.type == 25 or op.type == 26) and op.message.contentType == 0:
            msg = op.message
            if msg.text in ["help","Help","key","@help","menu","指令"]:
              if wait["lang"] == "JP":
                  token.sendText(msg.to,helpMessage)
############# REBOOT ##########################
            elif msg.text.lower().startswith("restart"):
             if msg.from_ in creator:
              print ("[ Info ] Bot Restart")
              try:
                 token.sendText(msg.to,"Restart done ")
                 restart_program()
              except:
                 token.sendText(msg.to,"Please wait")
                 restart_program()
                 pass
############# LOGIN WIN ##########################
            elif msg.text.lower().startswith("loginwin"):
              separate = msg.text.split(" ")
              jmlh = int(separate[1])
              for x in range(jmlh):
                  Headers.update({'x-lpqs' : '/api/v4/TalkService.do'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4/TalkService.do')
                  transport.setCustomHeaders(Headers)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  qr = client.getAuthQrcode(keepLoggedIn=1, systemName=sever1)
                  link = "line://au/q/" + qr.verifier
                  print('\n')
                  print(link)
                  token.sendText(msg.to,str(link))
                  Headers.update({"x-lpqs" : '/api/v4/TalkService.do', 'X-Line-Access': qr.verifier})
                  json.loads(requests.session().get('https://gd2.line.naver.jp/Q', headers=Headers).text)
                  Headers.update({'x-lpqs' : '/api/v4p/rs'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
                  transport.setCustomHeaders(Headers)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  req = LoginRequest()
                  req.type = 1
                  req.verifier = qr.verifier
                  req.e2eeVersion = 1
                  res = client.loginZ(req)
                  print('\n')
                  print(res.authToken)
              else:
                  token.sendText(msg.to, "Your DESKTOPWIN token")
                  token.sendText(msg.to,str(res.authToken))
                  
############# LOGIN MAC #############
            elif msg.text.lower().startswith("loginmac"):
              separate = msg.text.split(" ")
              jmlh = int(separate[1])
              for x in range(jmlh):
                  Headers2.update({'x-lpqs' : '/api/v4/TalkService.do'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4/TalkService.do')
                  transport.setCustomHeaders(Headers2)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  qr = client.getAuthQrcode(keepLoggedIn=1, systemName=sever2)
                  link = "line://au/q/" + qr.verifier
                  print('\n')
                  print(link)
                  token.sendText(msg.to,str(link))
                  Headers2.update({"x-lpqs" : '/api/v4/TalkService.do', 'X-Line-Access': qr.verifier})
                  json.loads(requests.session().get('https://gd2.line.naver.jp/Q', headers=Headers2).text)
                  Headers2.update({'x-lpqs' : '/api/v4p/rs'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
                  transport.setCustomHeaders(Headers2)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  req = LoginRequest()
                  req.type = 1
                  req.verifier = qr.verifier
                  req.e2eeVersion = 1
                  res = client.loginZ(req)
                  print('\n')
                  print(res.authToken)
              else:
                  token.sendText(msg.to, "Your DESKTOPMAC token")
                  token.sendText(msg.to,str(res.authToken))

############# LOGIN CHROMEOS #############
            elif msg.text.lower().startswith("loginchromeos"):
              separate = msg.text.split(" ")
              jmlh = int(separate[1])
              for x in range(jmlh):
                  Headers3.update({'x-lpqs' : '/api/v4/TalkService.do'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4/TalkService.do')
                  transport.setCustomHeaders(Headers3)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  qr = client.getAuthQrcode(keepLoggedIn=1, systemName=sever3)
                  link = "line://au/q/" + qr.verifier
                  print('\n')
                  print(link)
                  token.sendText(msg.to,str(link))
                  Headers3.update({"x-lpqs" : '/api/v4/TalkService.do', 'X-Line-Access': qr.verifier})
                  json.loads(requests.session().get('https://gd2.line.naver.jp/Q', headers=Headers3).text)
                  Headers3.update({'x-lpqs' : '/api/v4p/rs'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
                  transport.setCustomHeaders(Headers3)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  req = LoginRequest()
                  req.type = 1
                  req.verifier = qr.verifier
                  req.e2eeVersion = 1
                  res = client.loginZ(req)
                  print('\n')
                  print(res.authToken)
              else:
                  token.sendText(msg.to, "Your CHROMEOS token")
                  token.sendText(msg.to,str(res.authToken))

############# LOGIN IOSIPAD #############
            elif msg.text.lower().startswith("loginiosipad"):
              separate = msg.text.split(" ")
              jmlh = int(separate[1])
              for x in range(jmlh):
                  Headers4.update({'x-lpqs' : '/api/v4/TalkService.do'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4/TalkService.do')
                  transport.setCustomHeaders(Headers4)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  qr = client.getAuthQrcode(keepLoggedIn=1, systemName=sever4)
                  link = "line://au/q/" + qr.verifier
                  print('\n')
                  print(link)
                  token.sendText(msg.to,str(link))
                  Headers4.update({"x-lpqs" : '/api/v4/TalkService.do', 'X-Line-Access': qr.verifier})
                  json.loads(requests.session().get('https://gd2.line.naver.jp/Q', headers=Headers4).text)
                  Headers4.update({'x-lpqs' : '/api/v4p/rs'})
                  transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
                  transport.setCustomHeaders(Headers4)
                  protocol = TCompactProtocol.TCompactProtocol(transport)
                  client = LineService.Client(protocol)
                  req = LoginRequest()
                  req.type = 1
                  req.verifier = qr.verifier
                  req.e2eeVersion = 1
                  res = client.loginZ(req)
                  print('\n')
                  print(res.authToken)
              else:
                  token.sendText(msg.to, "Your IOSIPAD token")
                  token.sendText(msg.to,str(res.authToken))

############## BYE BOT ###################
            elif msg.text.lower().startswith("@bye"):
              if msg.toType == 2:
                  ginfo = token.getGroup(msg.to)
                  try:
                      token.sendText(msg.to,"Bye Bye")
                      token.leaveGroup(msg.to)
                  except:
                    pass
            elif msg.text.lower().startswith("leave allgroups"):
             if msg.from_ in creator:
               token.leaveGroup(token.getGroupIdsJoined())
        if op.type == 59:
            print (op)

    except Exception as error:
        print (error)