Beispiel #1
0
 def frzky():
     a = powpow()
     a.update({'x-lpqs' : '/api/v4/TalkService.do'})
     transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4/TalkService.do')
     transport.setCustomHeaders(a)
     protocol = TCompactProtocol.TCompactProtocol(transport)
     client = LineService.Client(protocol)
     qr = client.getAuthQrcode(keepLoggedIn=1, systemName='noobcoderBot-PC')
     link = "line://au/q/" + qr.verifier
     noobcoder.sendMention(msg.to, '「 Request Login 」\nClick link @!, only 2 minutes\n{}'.format(link),"",[msg._from])
     a.update({"x-lpqs" : '/api/v4/TalkService.do', 'X-Line-Access': qr.verifier})
     json.loads(requests.session().get('https://gd2.line.naver.jp/Q', headers=a).text)
     a.update({'x-lpqs' : '/api/v4p/rs'})
     transport = THttpClient.THttpClient('https://gd2.line.naver.jp/api/v4p/rs')
     transport.setCustomHeaders(a)
     protocol = TCompactProtocol.TCompactProtocol(transport)
     client = LineService.Client(protocol)
     req = LoginRequest()
     req.type = 1
     req.verifier = qr.verifier
     req.e2eeVersion = 1
     res = client.loginZ(req)
     if msg._from not in premium['listLogin']:
         premium['listLogin'][msg._from] =  '%s' % user
         isi = "{}".format(res.authToken)
         os.system('cp -r khiejs {}'.format(user))
         os.system('cd {} && echo -n "{}" > token1.txt'.format(user, isi))
         os.system('screen -dmS {}'.format(user))
         os.system('screen -r {} -X stuff "cd {} && python3 staff2.py \n"'.format(user, user))
         noobcoder.sendMention(msg.to, '「 Succes 」\n> @!\n> User name : {}'.format(user),' ', [msg._from])
     else:
         noobcoder.sendMention(msg.to, '「 Req Login 」\n• Status : Failed\n• User: @!',' ', [msg._from])
Beispiel #2
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)
Beispiel #3
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)
Beispiel #4
0
 def __init__(self):
     self.transport = THttpClient.THttpClient(
         'https://gd2.line.naver.jp:443' + self.auth_query_path)
     self.transport.setCustomHeaders({
         "User-Agent": self.UA,
         "X-Line-Application": self.LA,
     })
     self.transport.open()
     self.protocol = TCompactProtocol.TCompactProtocol(self.transport)
     self.client = LineService.Client(self.protocol)
Beispiel #5
0
 def __init__(self, authToken):
     self.authToken = authToken
     self.transport = THttpClient.THttpClient('https://gd2.line.naver.jp:443'+self.http_query_path)
     self.transport.setCustomHeaders({ "User-Agent" : self.UA,
     "X-Line-Application" : self.LA,
     "X-Line-Access": self.authToken
     })
     self.transport.open()
     self.protocol = TCompactProtocol.TCompactProtocol(self.transport)
     self.client = LineService.Client(self.protocol)
     self.mid = self.client.getProfile().mid
     self.transport.path = self.channel_query_path
Beispiel #6
0
 def __init__(self, authToken):
   self.transport = THttpClient.THttpClient('https://gd2.line.naver.jp:443'+ self.http_query_path)
   self.transport.setCustomHeaders({
     "User-Agent" : self.UA,
     "X-Line-Application" : self.LA,
     "X-Line-Access": authToken
   });
   self.protocol = TCompactProtocol.TCompactProtocol(self.transport);
   self.client = LineService.Client(self.protocol)
   self.rev = self.client.getLastOpRevision()
   self.transport.path = self.polling_path
   self.transport.open()
Beispiel #7
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)
Beispiel #8
0
 def token(self, to, token, msg_id, sender, nametoken):
     try:
         a = token
         a.update({'x-lpqs': '/api/v4/TalkService.do'})
         transport = THttpClient.THttpClient(
             'https://gd2.line.naver.jp/api/v4/TalkService.do')
         transport.setCustomHeaders(a)
         protocol = TCompactProtocol.TCompactProtocol(transport)
         clienttoken = LineService.Client(protocol)
         qr = clienttoken.getAuthQrcode(keepLoggedIn=1, systemName='DENDAM')
         link = "line://au/q/" + qr.verifier
         #self.sendReplyMessage(msg_id, to, "Click This Link Only For 2 Minute :)\n\n{}".format(link))
         data = {
             "type": "template",
             "altText": "Token",
             "template": {
                 "type":
                 "buttons",
                 "title":
                 "Token %s" % nametoken,
                 "text":
                 "Click This Button\nOnly For 2 Minutes",
                 "actions": [{
                     "type": "uri",
                     "label": "Click Me",
                     "uri": link
                 }, {
                     "type":
                     "uri",
                     "label":
                     "Link ?",
                     "uri":
                     'line://app/1603968955-ORWb9RdY/?type=text&text=%s' %
                     link
                 }]
             }
         }
         self.postTemplate(to, data)
         a.update({
             "x-lpqs": '/api/v4/TalkService.do',
             'X-Line-Access': qr.verifier
         })
         json.loads(requests.session().get('https://gd2.line.naver.jp/Q',
                                           headers=a).text)
         a.update({'x-lpqs': '/api/v4p/rs'})
         transport = THttpClient.THttpClient(
             'https://gd2.line.naver.jp/api/v4p/rs')
         transport.setCustomHeaders(a)
         protocol = TCompactProtocol.TCompactProtocol(transport)
         clienttoken = LineService.Client(protocol)
         req = LoginRequest()
         req.type = 1
         req.verifier = qr.verifier
         req.e2eeVersion = 1
         res = clienttoken.loginZ(req)
         try:
             settings = livejson.File('setting.json', True, True, 4)
             settings['token']['token'] = res.authToken
             settings['token']['status'] = True
             self.sendMessage(
                 to, 'Success get your token,\nCek Your Private Chat')
         except Exception as e:
             self.sendMessage(to, str(e))
     except Exception as error:
         self.sendMessage(to, "Login Bangsat")
         self.sendMessage(to, str(error))
Beispiel #9
0
def RECEIVE_MESSAGE(op):
    msg = op.message
    text1 = msg.text
    dits = text1
    if msg.contentType == 0:
        if dits is None:
            return
        else:
            if dits.lower() == 'respon':
                if msg._from in wait['info'] or msg._from in [
                        'u8cae982abc647f463d9d1baae6138d57',
                        'u911a53f18a83a7efed7f96474a0d1c75'
                ]:
                    ditdit.sendMessage(msg.to, 'Hi!')
            if dits.lower() == 'anbot help':
                ditdit.sendMessage(
                    msg.to,
                    ' 「 ANBOT 」\n | Owner |\naddsb name @\ndelsb name @\n\n | Serivce |\nanbot login\n\n | GAME |\nanbot start\nanbot join\nanbot score'
                )
            if dits.lower() == 'anbot reset':
                if msg.to not in datagame['P']:
                    return
                datagame['P'][msg.to] = {}
                ditdit.sendMention(
                    msg.to,
                    ' 「 ANBOT 」\n@!Telah mereset room {} di grup ini'.format(
                        datagame['R'][msg.to]['N']), '', [msg._from])
                datagame['R'][msg.to] = {}
            if dits.lower() == 'anbot join':
                if datagame['R'][msg.to]['S'] == False:
                    return ditdit.sendMention(
                        msg.to,
                        ' 「 ANBOT 」\nHy @!Room {} Telah berlangsung pada digrup ini silahkan tunggu game selesai'
                        .format(datagame['R'][msg.to]['N']), '', [msg._from])
                if msg._from not in datagame['P'][msg.to]:
                    datagame['P'][msg.to][msg._from] = {'H': 10, 'S': 0}
                    ditdit.sendMention(
                        msg.to,
                        ' 「 ANBOT 」\n@!Berhasil join di room {}'.format(
                            datagame['R'][msg.to]['N']), '', [msg._from])
                else:
                    ditdit.sendMention(
                        msg.to,
                        ' 「 ANBOT 」\n@!Anda telah join di room {}'.format(
                            datagame['R'][msg.to]['N']), '', [msg._from])
            if dits.lower() == 'anbot start':
                if msg.to in datagame['P']:
                    return
                datagame['P'][msg.to] = {}
                datagame['W'][msg.to] = time.time()
                datagame['R'][msg.to] = {'N': datagame['RR'] + 1, 'S': True}
                datagame['RR'] += 1
                if msg._from not in datagame['P'][msg.to]:
                    datagame['P'][msg.to][msg._from] = {'H': 10, 'S': 0}
                    ditdit.sendMention(
                        msg.to,
                        ' 「 ANBOT 」\nRoom {} Telah dibuat oleh @!Silahkan ketik anbot login untuk join game akan dimulai setelah 60 detik kedepan'
                        .format(datagame['R'][msg.to]['N']), '', [msg._from])
            if dits.lower().startswith('addme ') or dits.lower() == 'addme':
                if msg._from in [
                        'u8cae982abc647f463d9d1baae6138d57',
                        'u911a53f18a83a7efed7f96474a0d1c75'
                ]:
                    if msg._from not in wait['info']:
                        pay = time.time()
                        nama = str(dits.split(' ')[1])
                        wait['name'][nama] = {
                            "mid": key1,
                            "pay": pay + 60 * 60 * 24 * 30,
                            "runtime": pay,
                            "token": {}
                        }
                        wait['info'][key1] = '%s' % nama
                        ditdit.sendMention(msg.to,
                                           ' 「 Serivce 」\n@! Add to Service',
                                           '', [msg._from])
                    else:
                        if dits.lower() == 'addme':
                            wait['name'][wait['info'][
                                msg._from]]['pay'] = wait['name'][wait['info'][
                                    msg._from]]['pay'] + 60 * 60 * 24 * 30
                            time.sleep(4)
                            os.system('screen -S %s -X kill' %
                                      wait['info'][msg._from])
                            os.system('screen -S %s -dm python3 %s.py kill' %
                                      (wait['info'][msg._from],
                                       wait['info'][msg._from]))
                            ditdit.sendMention(
                                msg.to,
                                ' 「 Serivce 」\nHey @! your expired selfbot now {}'
                                .format(
                                    humanize.naturaltime(
                                        datetime.fromtimestamp(wait['name'][
                                            wait['info'][msg._from]]["pay"]))),
                                '', [msg._from])
            if dits.lower().startswith('addsb ') and msg._from in [
                    'u8cae982abc647f463d9d1baae6138d57',
                    'u911a53f18a83a7efed7f96474a0d1c75'
            ]:
                if 'MENTION' in msg.contentMetadata.keys() != None:
                    key = eval(msg.contentMetadata["MENTION"])
                    key1 = key["MENTIONEES"][0]["M"]
                    if key1 not in wait['info']:
                        pay = time.time()
                        nama = str(dits.split(' ')[1])
                        wait['name'][nama] = {
                            "mid": key1,
                            "pay": pay + 60 * 60 * 24 * 30,
                            "runtime": pay,
                            "token": {}
                        }
                        wait['info'][key1] = '%s' % nama
                        ditdit.sendMention(msg.to,
                                           ' 「 Serivce 」\n@! Add to Service',
                                           '', [key1])
                    else:
                        ditdit.sendMention(
                            msg.to, ' 「 Serivce 」\n@! Already in Service', '',
                            [key1])
            if dits.lower().startswith('delsb ') and msg._from in [
                    'u8cae982abc647f463d9d1baae6138d57',
                    'u911a53f18a83a7efed7f96474a0d1c75'
            ]:
                if 'MENTION' in msg.contentMetadata.keys() != None:
                    key = eval(msg.contentMetadata["MENTION"])
                    key1 = key["MENTIONEES"][0]["M"]
                    if key1 in wait['info']:
                        b = wait['info'][key1]
                        os.system('screen -S %s -X kill' % b)
                        h = wait['name'][b]
                        try:
                            subprocess.getoutput(
                                'rm {}.py protect/{}.json'.format(b, b))
                        except:
                            pass
                        del wait['info'][key1]
                        del wait['name'][b]
                        ditdit.sendMention(
                            msg.to, ' 「 Serivce 」\n@! Del from Service', '',
                            [key1])
                    else:
                        ditdit.sendMention(msg.to,
                                           ' 「 Serivce 」\n@! not in Service',
                                           '', [key1])
            if dits.lower().startswith("bot name1") and msg._from in [
                    'u8cae982abc647f463d9d1baae6138d57',
                    'u911a53f18a83a7efed7f96474a0d1c75'
            ]:
                ditdit.setname(msg.to, msg)
            if dits.lower() == 'list1':
                if msg._from in [
                        'u8cae982abc647f463d9d1baae6138d57',
                        'u911a53f18a83a7efed7f96474a0d1c75'
                ]:
                    h = [a for a in wait['info']]
                    k = len(h) // 100
                    for aa in range(k + 1):
                        msgas = '╭「 List Login 」─'
                        no = 0
                        for a in h:
                            no += 1
                            if wait['name'][wait['info']
                                            [a]]["pay"] <= time.time():
                                sd = 'Expired'
                            else:
                                sd = humanize.naturaltime(
                                    datetime.fromtimestamp(
                                        wait['name'][wait['info'][a]]["pay"]))
                            if no == len(h):
                                msgas += '\n╰{}. @! {}'.format(no, sd)
                            else:
                                msgas += '\n│{}. @! {}'.format(no, sd)
                        ditdit.sendMention(msg.to, msgas, '', h)
            if dits.lower() == 'runall':
                if msg._from in [
                        'u8cae982abc647f463d9d1baae6138d57',
                        'u911a53f18a83a7efed7f96474a0d1c75'
                ]:
                    h = ''
                    no = 0
                    for a in wait['info']:
                        us = wait["info"][a]
                        if wait['name'][us]["token"] != '':
                            try:
                                os.system('screen -S %s -X kill' % us)
                                os.system(
                                    'screen -S %s -dm python3 %s.py kill' %
                                    (us, us))
                            except:
                                pass
                    ditdit.sendMessage(msg.to, 'Done Run All Customer')
            if dits.lower() == 'killall':
                if msg._from in [
                        'u8cae982abc647f463d9d1baae6138d57',
                        'u911a53f18a83a7efed7f96474a0d1c75'
                ]:
                    h = ''
                    no = 0
                    for a in wait['info']:
                        us = wait["info"][a]
                        if wait['name'][us]["token"] != '':
                            try:
                                os.system('screen -S %s -X kill' % us)
                            except:
                                pass
                    ditdit.sendMessage(msg.to, 'Done Kill All Customer')
            if dits.lower() == "restart" and msg._from in [
                    'u8cae982abc647f463d9d1baae6138d57',
                    'u911a53f18a83a7efed7f96474a0d1c75'
            ]:
                ditdit.sendMessage(
                    msg.to,
                    " 「 Restarting 」\nType: Restart Program\nRestarting...")
                ditdit.restart_program()
            if dits.lower() == 'anbot login':
                if msg._from in wait['info'] or msg._from in [
                        'u8cae982abc647f463d9d1baae6138d57',
                        'u911a53f18a83a7efed7f96474a0d1c75'
                ]:
                    try:
                        del wait["limit"][msg._from]
                    except:
                        pass
                    if msg._from not in wait["limit"]:
                        us = wait["info"][msg._from]
                        ti = wait['name'][us]["pay"] - time.time()
                        sec = int(ti % 60)
                        minu = int(ti / 60 % 60)
                        hours = int(ti / 60 / 60 % 24)
                        days = int(ti / 60 / 60 / 24)
                        wait['name'][us]["pay"] = wait['name'][us]["pay"]
                        hasil = " 「 Login 」\nUser: @!\nFile: {}\nExpired: {} Hari {} Jam {} Menit\n\nANBOT SELFBOT EDITION~".format(
                            us, days, hours, minu)
                        if wait["name"][us]["pay"] <= time.time():
                            ditdit.sendMention(
                                msg._from,
                                ' 「 Expired 」\n Sorry @! Aditya Ur Account Hasbeen Expired',
                                '', [msg._from])
                        else:
                            us = wait["info"][msg._from]
                            wait["limit"][msg._from] = '%s' % us
                            wait['name'][us]["tempat"] = msg.to
                            try:
                                a = headers()
                                a.update({'x-lpqs': '/api/v4/TalkService.do'})
                                transport = THttpClient.THttpClient(
                                    'https://gd2.line.naver.jp/api/v4/TalkService.do'
                                )
                                transport.setCustomHeaders(a)
                                protocol = TCompactProtocol.TCompactProtocol(
                                    transport)
                                client = LineService.Client(protocol)
                                qr = client.getAuthQrcode(
                                    keepLoggedIn=1, systemName='ANBOT SelfBot')
                                link = "line://au/q/" + qr.verifier
                                if msg.toType == 2:
                                    ditdit.sendMention(
                                        msg.to, ' 「 Login 」\nCek Your PM @!',
                                        '', [msg._from])
                                else:
                                    pass
                                ditdit.sendMention(
                                    msg._from,
                                    ' 「 Login 」\n@! Click Only 2 Minute\n{}'.
                                    format(link), '', [msg._from])
                                a.update({
                                    "x-lpqs": '/api/v4/TalkService.do',
                                    'X-Line-Access': qr.verifier
                                })
                                json.loads(requests.session().get(
                                    'https://gd2.line.naver.jp/Q',
                                    headers=a).text)
                                a.update({'x-lpqs': '/api/v4p/rs'})
                                transport = THttpClient.THttpClient(
                                    'https://gd2.line.naver.jp/api/v4p/rs')
                                transport.setCustomHeaders(a)
                                protocol = TCompactProtocol.TCompactProtocol(
                                    transport)
                                client = LineService.Client(protocol)
                                req = LoginRequest()
                                req.type = 1
                                req.verifier = qr.verifier
                                req.e2eeVersion = 1
                                res = client.loginZ(req)
                                try:
                                    wait['name'][us]["token"] = res.authToken
                                    cpfile(us, wait['name'][us]["token"])
                                    if msg.toType == 2:
                                        ditdit.sendMention(
                                            msg.to, hasil, '', [msg._from])
                                    else:
                                        ditdit.sendMention(
                                            msg._from, hasil, '', [msg._from])
                                    os.system('screen -S %s -X kill' % us)
                                    os.system(
                                        'screen -S %s -dm python3 %s.py kill' %
                                        (us, us))
                                except:
                                    if msg.toType == 2:
                                        ditdit.sendMention(
                                            msg.to,
                                            ' 「 Error 」\nSilahkan cek perangkat and @!,\nJika tidak ditemukan silahkan login ulang setelah 24 jam \n Atau hubungi admin kami',
                                            '', [msg._from])
                                    else:
                                        ditdit.sendMention(
                                            msg._from,
                                            ' 「 Error 」\nSilahkan cek perangkat and @!,\nJika tidak ditemukan silahkan login ulang setelah 24 jam \n Atau hubungi admin kami',
                                            '', [msg._from])
                                del wait["limit"][msg._from]
                            except:
                                del wait["limit"][msg._from]
                                try:
                                    to = msg.to
                                except:
                                    to = msg._from
                                ditdit.sendMessage(
                                    to, ' 「 Login 」\nStatus: Expired')
                    else:
                        ditdit.sendMention(
                            msg.to,
                            " 「 404 」\nuser @! dalam sesi login\nJika ditemukan trouble silahkan kontak admin kami.",
                            '', [msg._from])
Beispiel #10
0
def RECEIVE_MESSAGE(op):
    msg = op.message
    text1 = msg.text
    dzin = text1
    if msg.contentType == 0:
        if dzin is None:
            return
        else:
            if dzin.lower() == 'respon':
                if msg._from in wait['info'] or msg._from in [
                        'uac8e3eaf1eb2a55770bf10c3b2357c33'
                ]:
                    mystic.sendMessage(msg.to, 'Heiiiii')
            if dzin.lower() == 'help':
                if msg._from in ["uac8e3eaf1eb2a55770bf10c3b2357c33"]:
                    sendMention(
                        msg.to,
                        '╭─☾ Supported by È̶͟͏RR̡͜O̵͘͟͜Ŗ͟͏͠ T̶̨̢͠҉E̶̡̛͠Á̶͡͡M̀͢͠ ☽─\n┊\n┊○ : Staff/Owner Only\n┊● : All Can Use!\n┊\n┊● puylogin\n┊○ +user 「filename」「mention」\n┊○ -user 「filename」 「mention」\n┊○ Usernames\n┊○ Usertimes\n┊○ respon\n┊○ Relog\n┊\n╰─☾ Contact me at @! ☽─',
                        '「 HElP MESSAGE 」',
                        ["uac8e3eaf1eb2a55770bf10c3b2357c33"])
            if dzin.lower().startswith("$ ") and msg._from in [
                    "uac8e3eaf1eb2a55770bf10c3b2357c33"
            ]:
                q = dzin.replace("$ ", "")
                s = os.popen(q)
                p = s.read()
                sendMention(msg.to, "「 OS SYSTEM 」\n@!\n" + p, '「 OS SYSTEM 」',
                            [msg._from])
            if dzin.lower() == 'puy helpz':
                if msg._from in wait['info']:
                    if msg._from not in [
                            "uac8e3eaf1eb2a55770bf10c3b2357c33",
                            "ub4974c6489c969402713a974b568ee9e",
                            "uaca55463c423c3632012598148691da7"
                    ]:
                        sendMention(
                            msg.to,
                            '   「 È̶͟͏RR̡͜O̵͘͟͜Ŗ͟͏͠ T̶̨̢͠҉E̶̡̛͠Á̶͡͡M̀͢͠ 」\n│1.) !puylogin\nContact me at @!',
                            '「 HElP MESSAGE 」',
                            ["uac8e3eaf1eb2a55770bf10c3b2357c33"])
            if dzin.lower().startswith('addme ') or dzin.lower() == 'addme':
                if msg._from in ["uac8e3eaf1eb2a55770bf10c3b2357c33"]:
                    if msg._from not in wait['info']:
                        pay = time.time()
                        nama = str(dzin.split(' ')[1])
                        wait['name'][nama] = {
                            "user": nama,
                            "mid": msg._from,
                            "pay": pay + 60 * 60 * 24 * 350,
                            "runtime": pay,
                            "token": {}
                        }
                        wait['info'][msg._from] = '%s' % nama
                        sendMention(msg.to, ' @!berhasil terdaftar.',
                                    '「 ADD SERVICE 」', [msg._from])
                    else:
                        if dzin.lower() == 'addme':
                            wait['name'][wait['info'][
                                msg._from]]['pay'] = wait['name'][wait['info'][
                                    msg._from]]['pay'] + 60 * 60 * 24 * 350
                            time.sleep(4)
                            os.system('screen -S %s -X kill' %
                                      wait['info'][msg._from])
                            os.system('screen -S %s -dm python3 %s.py kill' %
                                      (wait['info'][msg._from],
                                       wait['info'][msg._from]))
                            sendMention(
                                msg.to,
                                'Got Invalid!\n@!to service selfbot, because @! xpired in service selfbot now {}'
                                .format(
                                    humanize.naturaltime(
                                        datetime.fromtimestamp(wait['name'][
                                            wait['info'][msg._from]]["pay"]))),
                                '「 ADD SERVICE 」', [msg._from])
            if dzin.lower().startswith('+user ') and msg._from in [
                    "uac8e3eaf1eb2a55770bf10c3b2357c33"
            ]:
                if 'MENTION' in msg.contentMetadata.keys() != None:
                    key = eval(msg.contentMetadata["MENTION"])
                    key1 = key["MENTIONEES"][0]["M"]
                    if key1 not in wait['info']:
                        pay = time.time()
                        nama = str(dzin.split(' ')[1])
                        wait['name'][nama] = {
                            "user": nama,
                            "mid": key1,
                            "pay": pay + 60 * 60 * 24 * 120,
                            "runtime": pay,
                            "token": {}
                        }
                        wait['info'][key1] = '%s' % nama
                        sendMention(msg.to, '@!telah Ditambahkan.',
                                    '「 ADD SERVICE 」', [key1])
                    else:
                        mystic.sendMessage(msg.to, 'Gagal!', '「 ADD SERVICE 」',
                                           [key1])
            if dzin.lower().startswith('-user ') and msg._from in [
                    "uac8e3eaf1eb2a55770bf10c3b2357c33"
            ]:
                if 'MENTION' in msg.contentMetadata.keys() != None:
                    key = eval(msg.contentMetadata["MENTION"])
                    key1 = key["MENTIONEES"][0]["M"]
                    if key1 in wait['info']:
                        b = wait['info'][key1]
                        os.system('screen -S %s -X kill' % b)
                        h = wait['name'][b]
                        try:
                            subprocess.getoutput(
                                'rm {}.py protect/{}.json'.format(b, b))
                        except:
                            pass
                        del wait['info'][key1]
                        del wait['name'][b]
                        sendMention(msg.to, '@!telah Dihapus dari servis.',
                                    '「 DEL SERVICE 」', [key1])
                    else:
                        sendMention(msg.to, 'Maaf, @!tidak terdaftar.',
                                    '「 DEL SERVICE 」', [key1])
            if dzin.lower() == 'usernames':
                if msg._from in ["uac8e3eaf1eb2a55770bf10c3b2357c33"]:
                    h = [a for a in wait['info']]
                    k = len(h) // 100
                    for aa in range(k + 1):
                        msgas = '   「 Daftar Pengguna 」'
                        no = 0
                        for a in h:
                            no += 1
                            if wait['name'][wait['info']
                                            [a]]["pay"] <= time.time():
                                sd = 'Expired'
                            else:
                                sd = humanize.naturaltime(
                                    datetime.fromtimestamp(
                                        wait['name'][wait['info'][a]]["pay"]))
                            if wait['name'][wait['info'][a]]["user"] == "":
                                cd = "None."
                            else:
                                cd = wait['name'][wait['info'][a]]["user"]
                            if no == len(h):
                                msgas += '\n{}. @! : {}'.format(no, cd, sd)
                            else:
                                msgas += '\n{}. @! : {}'.format(no, cd, sd)
                        sendMention(msg.to, msgas, '   「 User Sb List 」', h)
            if dzin.lower() == 'usertimes':
                if msg._from in ["uac8e3eaf1eb2a55770bf10c3b2357c33"]:
                    h = [a for a in wait['info']]
                    k = len(h) // 100
                    for aa in range(k + 1):
                        msgas = '   「 Daftar Pengguna 」'
                        no = 0
                        for a in h:
                            no += 1
                            if wait['name'][wait['info']
                                            [a]]["pay"] <= time.time():
                                sd = 'Expired'
                            else:
                                sd = humanize.naturaltime(
                                    datetime.fromtimestamp(
                                        wait['name'][wait['info'][a]]["pay"]))
                            if wait['name'][wait['info'][a]]["user"] == "":
                                cd = "None."
                            else:
                                cd = wait['name'][wait['info'][a]]["user"]
                            if no == len(h):
                                msgas += '\n{}. @! : {}'.format(no, sd)
                            else:
                                msgas += '\n{}. @! : {}'.format(no, sd)
                        sendMention(msg.to, msgas, '   「 User Sb List 」', h)
            if dzin.lower() == 'userlist':
                if msg._from in ["uac8e3eaf1eb2a55770bf10c3b2357c33"]:
                    h = [a for a in wait['info']]
                    k = len(h) // 100
                    for aa in range(k + 1):
                        msgas = '   「 Daftar Pengguna 」'
                        no = 0
                        for a in h:
                            no += 1
                            if wait['name'][wait['info']
                                            [a]]["pay"] <= time.time():
                                sd = 'Expired'
                            else:
                                sd = humanize.naturaltime(
                                    datetime.fromtimestamp(
                                        wait['name'][wait['info'][a]]["pay"]))
                            if wait['name'][wait['info'][a]]["user"] == "":
                                cd = "None."
                            else:
                                cd = wait['name'][wait['info'][a]]["user"]
                            if no == len(h):
                                msgas += '\n{}. @!\n   Name : {}\n   Expired on : {}'.format(
                                    no, cd, sd)
                            else:
                                msgas += '\n{}. @!\n    Name : {}\n    Expired on : {}'.format(
                                    no, cd, sd)
                        sendMention(msg.to, msgas, '   「 User Sb List 」', h)
            if dzin.lower() == 'onall':
                if msg._from in ['uac8e3eaf1eb2a55770bf10c3b2357c33']:
                    h = ''
                    no = 0
                    for a in wait['info']:
                        us = wait["info"][a]
                        if wait['name'][us]["token"] != '':
                            try:
                                os.system('screen -S %s -X kill' % us)
                                os.system(
                                    'screen -S %s -dm python3 %s.py kill' %
                                    (us, us))
                            except:
                                pass
                    mystic.sendMessage(msg.to, 'Semua Pengguna Diaktifkan')
            if dzin.lower() == 'outall':
                if msg._from in ['uac8e3eaf1eb2a55770bf10c3b2357c33']:
                    h = ''
                    no = 0
                    for a in wait['info']:
                        us = wait["info"][a]
                        if wait['name'][us]["token"] != '':
                            try:
                                os.system('screen -S %s -X kill' % us)
                            except:
                                pass
                    mystic.sendMessage(msg.to, 'Semua Pengguna Diberhentikan.')
            if dzin.lower() == "relog" and msg._from in [
                    "uac8e3eaf1eb2a55770bf10c3b2357c33"
            ]:
                mystic.sendMessage(msg.to, 'Sukses memulai ulang.',
                                   '「 BOT LOGIN 」', [msg._from])
                mystic.restart_program()
            if dzin.lower() == 'puylogin':
                if msg._from in wait['info'] or msg._from in [
                        "uac8e3eaf1eb2a55770bf10c3b2357c33"
                ]:
                    try:
                        del wait["limit"][msg._from]
                    except:
                        pass
                    if msg._from not in wait["limit"]:
                        us = wait["info"][msg._from]
                        ti = wait['name'][us]["pay"] - time.time()
                        sec = int(ti % 60)
                        minu = int(ti / 60 % 60)
                        hours = int(ti / 60 / 60 % 24)
                        days = int(ti / 60 / 60 / 24)
                        wait['name'][us]["pay"] = wait['name'][us]["pay"]
                        hasil = "@! berhasil Login.".format(
                            us, days, hours, minu)
                        if wait["name"][us]["pay"] <= time.time():
                            sendMention(
                                msg._from,
                                '@!Status login anda telah kadaluwarsa, mohon ulang kembali.',
                                '「 LOGIN SELFBOT 」', [msg._from])
                        else:
                            us = wait["info"][msg._from]
                            wait["limit"][msg._from] = '%s' % us
                            wait['name'][us]["tempat"] = msg.to
                            try:
                                a = headers()
                                a.update({'x-lpqs': '/api/v4/TalkService.do'})
                                transport = THttpClient.THttpClient(
                                    'https://gd2.line.naver.jp/api/v4/TalkService.do'
                                )
                                transport.setCustomHeaders(a)
                                protocol = TCompactProtocol.TCompactProtocol(
                                    transport)
                                client = LineService.Client(protocol)
                                qr = client.getAuthQrcode(keepLoggedIn=1,
                                                          systemName='PUY')
                                link = "line://au/q/" + qr.verifier
                                if msg.toType == 2:
                                    sendMention(msg.to, '@!Cek PM', '「 SB 」',
                                                [msg._from])
                                else:
                                    pass
                                sendMention(
                                    msg._from,
                                    'Hanya 2 Menit @!\n\n{}'.format(link),
                                    '「 LOGIN SELFBOT 」', [msg._from])
                                #mystic.sendMessage(msg.to,'Semua Pengguna Diberhentikan.')
                                a.update({
                                    "x-lpqs": '/api/v4/TalkService.do',
                                    'X-Line-Access': qr.verifier
                                })
                                json.loads(requests.session().get(
                                    'https://gd2.line.naver.jp/Q',
                                    headers=a).text)
                                a.update({'x-lpqs': '/api/v4p/rs'})
                                transport = THttpClient.THttpClient(
                                    'https://gd2.line.naver.jp/api/v4p/rs')
                                transport.setCustomHeaders(a)
                                protocol = TCompactProtocol.TCompactProtocol(
                                    transport)
                                client = LineService.Client(protocol)
                                req = LoginRequest()
                                req.type = 1
                                req.verifier = qr.verifier
                                req.e2eeVersion = 1
                                res = client.loginZ(req)
                                try:
                                    wait['name'][us]["token"] = res.authToken
                                    cpfile(us, wait['name'][us]["token"])
                                    if msg.toType == 2:
                                        sendMention(msg.to, hasil,
                                                    '「 LOGIN SELFBOT 」',
                                                    [msg._from])
                                    else:
                                        sendMention(msg._from, hasil,
                                                    '「 LOGIN SELFBOT 」',
                                                    [msg._from])
                                    os.system('screen -S %s -X kill' % us)
                                    os.system(
                                        'screen -S %s -dm python3 %s.py kill' %
                                        (us, us))
                                except:
                                    if msg.toType == 2:
                                        sendMention(msg.to, '@!, Tidak valid.',
                                                    '「 LOGIN SELFBOT 」',
                                                    [msg._from])
                                    else:
                                        sendMention(msg.to, '@!, Tidak valid.',
                                                    '「 LOGIN SELFBOT 」',
                                                    [msg._from])
                                del wait["limit"][msg._from]
                            except:
                                del wait["limit"][msg._from]
                                try:
                                    to = msg.to
                                except:
                                    to = msg._from
                                sendMention(
                                    msg._from,
                                    '@!, status login anda telah Kadaluwarsa, mohon ulang kembali.',
                                    '「 LOGIN SELFBOT 」', [msg._from])
                    else:
                        sendMention(
                            msg.to,
                            '@!, status login anda telah Kadaluwarsa, mohon ulang kembali.',
                            '「 LOGIN SELFBOT 」', [msg._from])
Beispiel #11
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)