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)
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)
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)
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)