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
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
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 ''
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']
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
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
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 ''