Ejemplo n.º 1
0
 def read_dm(self):
     print("Get Direct messages...")
     dms = list()
     try:
         api = self.api
         dm = api.list_direct_messages()
         for x in range(len(dm)):
             sender_id = dm[x].message_create["sender_id"]
             message = dm[x].message_create['message_data']['text']
             message_data = str(dm[x].message_create['message_data'])
             json_data = _json.encode_basestring(message_data)
             print("Getting message -> "+str(message)+" by sender id "+str(sender_id))
             if "attachment" not in json_data:
                 print("DM doesn't have any media...")
                 d = dict(message = message, sender_id = sender_id, id = dm[x].id, media = None)
                 dms.append(d)
                 dms.reverse()
             else:
                 print("DM have a media...")
                 attachment = dm[x].message_create['message_data']['attachment']
                 d = dict(message = message, sender_id = sender_id, id = dm[x].id, media = attachment['media']['media_url'])
                 dms.append(d)
                 dms.reverse()
         print(str(len(dms)) + " collected")
         time.sleep(30)
         return dms
         
     except Exception as ex:
         print(ex)
         time.sleep(30)
         pass
Ejemplo n.º 2
0
 def encode_basestring_ascii(s):
     s = encode_basestring(s)[1:-1]
     for n in (ord(c) for c in s if ord(c) > 126):
         if n < 0x10000:
             return '\\u{0:04x}'.format(n)
         else:
             n -= 0x10000
             s1 = 0xd800 | ((n >> 10) & 0x3ff)
             s2 = 0xdc00 | (n & 0x3ff)
             return '\\u{0:04x}\\u{1:04x}'.format(s1, s2)
     return '"{}"'.format(s)
Ejemplo n.º 3
0
    def read_dm(self):
        print("Get direct messages...")
        dms = list()
        try:
            api = self.api
            dm = api.list_direct_messages()
            for x in range(len(dm)):
                sender_id = dm[x].message_create['sender_id']
                message = dm[x].message_create['message_data']['text']
                message_data = str(dm[x].message_create['message_data'])
                json_data = _json.encode_basestring(message_data)
                print(json_data)
                print("Getting message -> "+str(message)+" by sender id "+str(sender_id))

                if "attachment" not in json_data:
                    print("Dm does not have any media...")
                    d = dict(message=message, sender_id=sender_id, id=dm[x].id, media = None, shorted_media_url = None)
                    dms.append(d)
                    dms.reverse()

                else:
                    print("Dm have an attachment..")
                    media_type = dm[x].message_create['message_data']['attachment']['media']['type']
                    print(media_type)
                    if media_type == 'photo':
                        attachment = dm[x].message_create['message_data']['attachment']
                        d = dict(message=message, sender_id=sender_id, id=dm[x].id, media = attachment['media']['media_url'], shorted_media_url = attachment['media']['url'], type = 'photo')
                        dms.append(d)
                        dms.reverse()
                    elif media_type == 'video':
                        attachment = dm[x].message_create['message_data']['attachment']
                        media = dm[x].message_create['message_data']['attachment']['media']
                        # Here is the things, variants[0] it means this bot will upload the LOW Quality of the video
                        # variants[1] is for Medium Quality
                        # and variants[2] is for High Quality
                        # The better Quality, the probability of failed to upload the video will higher 
                        media_url = media['video_info']['variants'][0]
                        video_url = media_url['url']
                        print("video url : " + str(video_url))
                        d = dict(message=message, sender_id=sender_id, id=dm[x].id, media = video_url, shorted_media_url = attachment['media']['url'], type = 'video')
                        dms.append(d)
                        dms.reverse()

            print(str(len(dms)) + " collected")
            time.sleep(60)
            return dms

        except Exception as ex:
            print(ex)
            time.sleep(60)
            pass
Ejemplo n.º 4
0
    def read_dm(self):
        print("Get direct messages...")
        dms = list()
        try:
            api = self.api
            dm = api.list_direct_messages()
            for x in range(len(dm)):
                sender_id = dm[x].message_create['sender_id']
                message = dm[x].message_create['message_data']['text']
                message_data = str(dm[x].message_create['message_data'])
                json_data = _json.encode_basestring(message_data)
                print(json_data)
                print("Getting message -> " + str(message) + " by sender id " +
                      str(sender_id))

                if "attachment" not in json_data:
                    print("Dm does not have any media...")
                    d = dict(message=message,
                             sender_id=sender_id,
                             id=dm[x].id,
                             media=None,
                             shorted_media_url=None)
                    dms.append(d)
                    dms.reverse()

                else:
                    print("Dm have an attachment..")
                    media_type = dm[x].message_create['message_data'][
                        'attachment']['media']['type']
                    print(media_type)
                    if media_type == 'photo':
                        print("Is a photo")
                        attachment = dm[x].message_create['message_data'][
                            'attachment']
                        d = dict(message=message,
                                 sender_id=sender_id,
                                 id=dm[x].id,
                                 media=attachment['media']['media_url'],
                                 shorted_media_url=attachment['media']['url'],
                                 type='photo')
                        dms.append(d)
                        dms.reverse()
                    elif media_type == 'video':
                        print("Its a video")
                        attachment = dm[x].message_create['message_data'][
                            'attachment']
                        media = dm[x].message_create['message_data'][
                            'attachment']['media']
                        media_url = media['video_info']['variants'][0]
                        video_url = media_url['url']
                        print("video url : " + str(video_url))
                        d = dict(message=message,
                                 sender_id=sender_id,
                                 id=dm[x].id,
                                 media=video_url,
                                 shorted_media_url=attachment['media']['url'],
                                 type='video')
                        dms.append(d)
                        dms.reverse()

            print(str(len(dms)) + " collected")
            time.sleep(60)
            return dms

        except Exception as ex:
            print(ex)
            time.sleep(60)
            pass
Ejemplo n.º 5
0
    def read_dm(self):
        global sender_id
        print("Get direct messages...")
        dms = list()
        try:
            api = self.api
            dm = api.list_direct_messages()
            for x in range(len(dm)):
                sender_id = dm[x].message_create['sender_id']
                message = dm[x].message_create['message_data']['text']
                message_data = str(dm[x].message_create['message_data'])
                json_data = _json.encode_basestring(message_data)
                print(json_data)
                print("Getting message -> " + str(message) + " by sender id " +
                      str(sender_id))

                keywords = "umkfess" or "Umkfess" or "UMKFess" or "UMKFESS"
                if keywords in message_data:
                    api.send_direct_message(
                        sender_id,
                        "[Pesan Otomatis]👋\n\nHalo sekarang menfess kamu dalam antrian, "
                        "menfess kamu akan diposting dalam 2-5 menit ya")

                elif keywords not in message_data:
                    print("Keyword wrong")
                    api.send_direct_message(
                        sender_id,
                        "[Pesan Otomatis]👋🏽👋🏽👋🏽\n\nMohon maaf Keyword salah, menfess kamu "
                        "tidak akan diposting, baca rules dengan benar, dan gunkan keyword "
                        "dengan "
                        "benar, gunakan "
                        "autobase dengan bijak. \n"
                        "https://twitter.com/umkmenfess/status/1278656414747987974"
                    )

                if "attachment" not in json_data:
                    print("Dm does not have any media...")
                    d = dict(message=message,
                             sender_id=sender_id,
                             id=dm[x].id,
                             media=None,
                             shorted_media_url=None)
                    dms.append(d)
                    dms.reverse()

                else:
                    print("Dm have an attachment..")
                    media_type = dm[x].message_create['message_data'][
                        'attachment']['media']['type']
                    print(media_type)
                    if media_type == 'photo':
                        attachment = dm[x].message_create['message_data'][
                            'attachment']
                        d = dict(message=message,
                                 sender_id=sender_id,
                                 id=dm[x].id,
                                 media=attachment['media']['media_url'],
                                 shorted_media_url=attachment['media']['url'],
                                 type='photo')
                        dms.append(d)
                        dms.reverse()
                    elif media_type == 'video':
                        attachment = dm[x].message_create['message_data'][
                            'attachment']
                        media = dm[x].message_create['message_data'][
                            'attachment']['media']
                        # Here is the things, variants[0] it means this bot will upload the LOW Quality of the video
                        # variants[1] is for Medium Quality
                        # and variants[2] is for High Quality
                        # The better Quality, the probability of failed to upload the video will higher
                        media_url = media['video_info']['variants'][0]
                        video_url = media_url['url']
                        print("video url : " + str(video_url))
                        d = dict(message=message,
                                 sender_id=sender_id,
                                 id=dm[x].id,
                                 media=video_url,
                                 shorted_media_url=attachment['media']['url'],
                                 type='video')
                        dms.append(d)
                        dms.reverse()

            print(str(len(dms)) + " collected")
            time.sleep(60)
            return dms

        except Exception as ex:
            print(ex)
            time.sleep(60)
            pass