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)
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", }
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)
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)
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)
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)
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)
def test_uin2qq(): assert uin2qq("o1234567890") == "1234567890" assert uin2qq("o0123456789") == "123456789"