Exemplo n.º 1
0
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
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
def login_user(user):
    resp = util.post_request(config.LOGIN_USER_ROUTE, util.make_headers(),
                             user)
    validate_token(resp['token'])
    return resp['token']
Exemplo n.º 7
0
def create_user(user):
    resp = util.post_request(config.CREATE_USER_ROUTE, util.make_headers(),
                             user)
    validate_token(resp['token'])
    return resp
Exemplo n.º 8
0
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