示例#1
0
    def login(self, uin, skey, p_skey):
        self.set_uin_skey(skey, uin, p_skey)

        data = {
            "login_info": {
                "qq_info_type": 6,
                "uin": uin2qq(self.uin),
                "sig": self.p_skey,
                "qqinfo_ext": [{
                    "qq_info_type": 3,
                    "sig": self.skey,
                }]
            },
            "config_params": {
                "lang_type": 0
            },
            "mappid": "10001",
            "mcode": "",
            "clienttype": "1000005"
        }
        headers = {
            "referer":
            "https://www.wegame.com.cn/middle/login/third_callback.html",
            "user-agent":
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36",
        }
        res = requests.post(self.login_url, json=data, headers=headers)
        tgp_id, tgp_ticket = int(
            res.cookies.get('tgp_id')), res.cookies.get('tgp_ticket')
        self.set_tgp_info(tgp_id, tgp_ticket)

        logger.info(tgp_id)
        logger.info(tgp_ticket)
示例#2
0
 def set_tgp_info(self, tgp_id, tgp_ticket):
     self.tgp_id = tgp_id
     self.tgp_ticket = tgp_ticket
     # 需自行调用set_role_info设置
     self.area_id = 0
     self.role_name = ""
     self.common_headers = {
         "accept":
         "application/json",
         "cookie":
         "app_id=10001;tgp_id={tgp_id};platform=qq;account={account};skey={skey};tgp_ticket={tgp_ticket};machine_type=MIX+2;channel_number=5;app_version=1050602003;client_type=601"
         .format(
             tgp_id=self.tgp_id,
             account=uin2qq(self.uin),
             skey=self.skey,
             tgp_ticket=self.tgp_ticket,
         ),
         "Content-Type":
         "application/json; charset=utf-8",
         "Connection":
         "Keep-Alive",
         "Accept-Encoding":
         "gzip",
         "User-Agent":
         "okhttp/3.11.0",
     }
示例#3
0
def check_in_black_list(uin):
    qq = uin2qq(uin)
    if qq in black_list:
        message = ("发现你的QQ在本工具的黑名单里,本工具禁止你使用,将在本窗口消失后退出运行。\n"
                   "黑名单相关信息如下:\n"
                   f"{black_list[qq]}")
        message_box(message, "禁止使用")
        exit(0)
示例#4
0
def check_in_black_list(uin):
    qq = uin2qq(uin)
    if qq in black_list:
        message = ("发现你的QQ在本工具的黑名单里,本工具禁止你使用,将在本窗口消失后退出运行。\n"
                   "黑名单相关信息如下:\n"
                   f"{black_list[qq]}")
        logger.warning(color("fg_bold_cyan") + message)
        win32api.MessageBox(0, message, "禁止使用", win32con.MB_OK)
        exit(0)
示例#5
0
def check_in_black_list(uin):
    qq = uin2qq(uin)
    if qq in black_list:
        message = ("发现你的QQ在本工具的黑名单里,本工具禁止你使用,将在本窗口消失后退出运行。\n"
                   "黑名单相关信息如下:\n"
                   f"{black_list[qq]}\n"
                   "\n"
                   "如果有未使用完的付费时长,请私聊支付宝账号,按实际剩余时长退款。")
        message_box(message, "禁止使用")
        exit(0)
示例#6
0
    def do_qzone_activity(
        self,
        actid,
        api,
        ctx,
        ruleid,
        query="",
        act_name="",
        gameid="",
        area="",
        partition="",
        roleid="",
        countid="",
        pretty=False,
        print_res=True,
    ):
        url = self.urls.qzone_activity.format(
            api=api,
            g_tk=self.g_tk,
            rand=random.random(),
        )
        if self.roleinfo is not None:
            area = area or self.roleinfo.serviceID
            partition = partition or self.roleinfo.serviceID
            roleid = roleid or self.roleinfo.roleCode

        raw_data = self.urls.qzone_activity_raw_data.format(
            actid=actid,
            ruleid=ruleid,
            area=area,
            partition=partition,
            roleid=roleid,
            query=query,
            act_name=act_name,
            gameid=gameid,
            uin=uin2qq(self.lr.uin),
            countid=countid,
        )

        def request_fn():
            return requests.post(
                url,
                raw_data,
                headers=self.headers,
                timeout=self.djc_helper.common_cfg.http_timeout)

        res = try_request(request_fn, self.djc_helper.common_cfg.retry)
        logger.debug(f"{raw_data}")
        return process_result(ctx, res, pretty, print_res)
示例#7
0
    def do_ark_lottery(self,
                       api,
                       ctx,
                       ruleid,
                       query="",
                       act_name="",
                       gameid="",
                       area="",
                       partition="",
                       roleid="",
                       pretty=False,
                       print_res=True):
        url = self.urls.ark_lottery.format(
            api=api,
            g_tk=self.g_tk,
            rand=random.random(),
        )
        if self.roleinfo is not None:
            area = area or self.roleinfo.serviceID
            partition = partition or self.roleinfo.serviceID
            roleid = roleid or self.roleinfo.roleCode

        raw_data = self.urls.ark_lottery_raw_data.format(
            actid=3886,
            ruleid=ruleid,
            area=area,
            partition=partition,
            roleid=roleid,
            query=query,
            act_name=act_name,
            gameid=gameid,
            uin=uin2qq(self.lr.uin),
        )

        request_fn = lambda: requests.post(url,
                                           raw_data,
                                           headers=self.headers,
                                           timeout=self.djc_helper.common_cfg.
                                           http_timeout)
        res = try_request(request_fn, self.djc_helper.common_cfg.retry)
        return process_result(ctx, res, pretty, print_res)
示例#8
0
def test_uin2qq():
    assert uin2qq("o1234567890") == "1234567890"
    assert uin2qq("o0123456789") == "123456789"