Esempio n. 1
0
    def create_group(self, subject='', describe='', max_users=300,
                     members=None, is_public=True, is_approval=True):
        if len(self.admin_token) == 0:
            print('请先进行获取管理员token操作')
            return 0

        if len(self.token) == 0:
            print('请先进行获取token操作')
            return 0

        if len(subject) == 0:
            print('群主题为空')
            return 0

        url = self.rest_base_url + '/chatgroups'
        headers = {'Authorization': self.admin_rest_token}
        headers.update(BASE_HEADERS)

        body = {'groupname': subject,
                'desc': describe,
                'owner': self.username,
                'public': is_public,
                'approval': is_approval,
                'maxusers': max_users}
        if members is not None and len(members):
            body.update({'members': members})

        response = dxrequest.post(url, headers, body)
        return response.code
Esempio n. 2
0
    def send_text_message(self, to, content, mtype):
        target_type = "users"
        if mtype == 1:
            target_type = "chatgroups"
        elif mtype == 2:
            target_type = "chatrooms"

        target = [to]
        msg = {'type': 'txt', 'msg': content}
        ext = {}

        url = self.rest_base_url + '/messages'
        headers = {'Authorization': self.admin_rest_token}
        headers.update(BASE_HEADERS)

        body = {
            'target_type': target_type,
            'target': target,
            'from': self.username,
            'msg': msg,
            'ext': ext
        }
        response = dxrequest.post(url, headers, body)
        print(response.data)

        return response.code
Esempio n. 3
0
    def get_user_token(self, username, password):
        if len(username) == 0 or len(password) == 0:
            return ''

        url = self.rest_base_url + '/token'
        body = {'grant_type': 'password', 'username': username, 'password': password}
        response = dxrequest.post(url, BASE_HEADERS, body)
        if response.code == 0:
            self.username = username
            self.password = password
            self.token = response.data['access_token']
            self.rest_token = 'Bearer ' + self.token
            return self.token

        return ''
Esempio n. 4
0
    def add_user_to_group_block(self, group_id, username):
        if len(self.token) == 0:
            print('请先进行获取token操作')
            return None
        if len(group_id) == 0 or len(username) == 0:
            print('参数为空')
            return None

        url = self.rest_base_url + '/chatgroups/' + group_id + '/blocks/users'
        headers = {'Authorization': self.rest_token}
        headers.update(BASE_HEADERS)

        body = {'usernames': [username]}
        response = dxrequest.post(url, headers, body)
        return response.data['data']
Esempio n. 5
0
    def add_user_to_black(self, username):
        if len(self.token) == 0:
            print('请先进行获取token操作')
            return 0

        if len(username) == 0:
            print('用户名为空')
            return 0

        url = self.rest_base_url + '/users/' + self.username + '/blocks/users'
        headers = {'Authorization': self.rest_token}
        headers.update(BASE_HEADERS)
        body = {'usernames': [username]}
        response = dxrequest.post(url, headers, body)
        return response.code
Esempio n. 6
0
    def send_message_apns(self, to, content='推送内容'):
        if len(self.token) == 0:
            print('请先进行获取token操作')
            return -1
        if len(to) == 0:
            print('参数为空')
            return -1

        url = self.rest_base_url + '/notifications'
        headers = {'Authorization': self.admin_rest_token}
        headers.update(BASE_HEADERS)

        body = {'chat_type': 'chat', 'to': to, 'alert': content}
        response = dxrequest.post(url, headers, body)
        print(response.data)

        return response.code
Esempio n. 7
0
    def get_admin_token(self, client_id, client_secret):
        if len(client_id) == 0 or len(client_secret) == 0:
            print('client_id or client_secret is empty')
            return ''

        url = "https://a1.easemob.com/"+ self.app_key.replace('#', '/', 1) + '/token'
        body = {'grant_type': 'client_credentials',
                'client_id': client_id,
                'client_secret': client_secret}
        response = dxrequest.post(url, BASE_HEADERS, body)
        if response.code == 0:
            self.client_id = client_id
            self.client_secret = client_secret
            self.admin_token = response.data['access_token']
            self.admin_rest_token = 'Bearer ' + self.admin_token
            print(self.admin_token)

            return self.admin_token

        return ''