def send_messages(channel, user_1, user_2): use_first_user = True URL = config.MESSAGE_ROUTE.format(channel['id']) for msg in config.MELIAN_DIALOGE: token = user_1['token'] if use_first_user else user_2['token'] util.post_request(URL, util.make_headers(token), _make_chat_msg(msg)) use_first_user = not use_first_user
def create_users(users): """Creates directory users in chat db :param users: List of users to create. """ tokens = [user['token'] for user in users] for token in tokens: util.post_request(config.CHAT_USER_ROUTE, util.make_headers(token))
def print_papers(self, papers: List[Paper], user_id: str, device_id: str) -> Dict[int, Paper]: # def print_papers(self, papers: list[Paper], user_id: str, device_id: str) -> dict(str): """ 根据咕咕号向指定绑定的设备发送指定的纸条 :type device_id: 要用于打印的咕咕机设备号 :param papers: 要打印的纸条 :param user_id: 要打印纸条的咕咕号 :return:打印的纸条序列号和对应的纸条以及打印状态 """ result_dic: Dict[int, Paper] = dict() if not self.users.__contains__(user_id): raise Exception("查询不到给定咕咕号") if not self.users[user_id].__contains__(device_id): raise Exception("给定咕咕号:" + user_id + "下无法查询到与设备:" + device_id + "的绑定") papers_id = None # type: url = self._BASE_URL + "printpaper" data = dict(ak=self.ak, memobirdID=device_id, userID=self.users[user_id][device_id]) each_paper: Paper for each_paper in papers: data['timestamp'] = _timestamp() data['printcontent'] = each_paper.get_content() each_post_result = post_request(url=url, data=data) if each_post_result['showapi_res_error'] != 'ok': logger.exception("打印纸条时出现错误:" + each_post_result['showapi_res_error']) continue if each_post_result['result'] != 1: logger.warning("纸条未打印") each_paper_id = each_post_result['printcontentid'] self.printed_papers[each_paper_id] = each_paper result_dic[each_paper_id] = each_paper return result_dic
def __set_user_bind(self, memobird_id: str, useridentifying: str) -> int: """ 账号关联 :param memobird_id: 咕咕机的设备编号 :param useridentifying: 与咕咕平台进行关联的用户唯一标识符 :return: api_userid """ request_data = dict(ak=self.ak, timestamp=_timestamp(), memobirdID=memobird_id, useridentifying=useridentifying) url = self._BASE_URL + "setuserbind" request_result = post_request(url=url, data=request_data) api_userid = request_result['showapi_userid'] return api_userid
def update_printed_status(self, ak: AnyStr): """ 更新一下纸条的打印状态 :type ak: 开发者账户ID :return: """ if not self.print_content_id: self.is_printed = False url = self._BASE_URL + 'getprintstatus' data = dict(ak=ak, timestamp=_timestamp(), printcontentid=self.print_content_id) post_result: Dict post_result = post_request(url=url, data=data) if post_result['showapi_res_code'] != 1: logger.exception("在请求纸条ID:" + str(self.print_content_id) + "打印状态时网络出现问题") if post_result['printflag'] == 1: self.is_printed = True else: self.is_printed = False
def login_user(user): resp = util.post_request(config.LOGIN_USER_ROUTE, util.make_headers(), user) validate_token(resp['token']) return resp['token']
def create_user(user): resp = util.post_request(config.CREATE_USER_ROUTE, util.make_headers(), user) validate_token(resp['token']) return resp
def create_channel(game_id, recievers): token = recievers[0]['token'] channel_route = config.CREATE_CHANNEL_ROUTE.format(game_id) query = util.create_query('recieverId', [r['user']['id'] for r in recievers]) channel = util.post_request(f'{channel_route}?{query}', util.make_headers(token)) return channel