This commit is contained in:
Faker 2022-12-31 16:27:58 +08:00
parent 6adec80616
commit d33db72097
4 changed files with 53 additions and 30 deletions

File diff suppressed because one or more lines are too long

View File

@ -27,6 +27,7 @@ except ImportError as e:
print(e) print(e)
if "No module" in str(e): if "No module" in str(e):
print("请先运行Faker库依赖一键安装脚本(jd_check_dependent.py)安装jd_sign.so依赖") print("请先运行Faker库依赖一键安装脚本(jd_check_dependent.py)安装jd_sign.so依赖")
sys.exit()
try: try:
from jdCookie import get_cookies from jdCookie import get_cookies
getCk = get_cookies() getCk = get_cookies()
@ -247,14 +248,20 @@ async def main():
MSG = '' MSG = ''
title = "🗣消息提醒:邀好友赢大礼" title = "🗣消息提醒:邀好友赢大礼"
r = re.compile(r"pt_pin=(.*?);") r = re.compile(r"pt_pin=(.*?);")
invitePin = r.findall(cks[0])[0] # 获取COOKIES中第一个车头pin invitePin_ = r.findall(cks[0])[0] # 获取COOKIES中第一个车头pin
inveteck = checkpin(cks, invitePin_) # 根据设定的pin返回对应ck
try:
invitePin = remote_redis(f"invite_{authorCode}", 1)
if not invitePin:
invitePin = invitePin_
except:
invitePin = invitePin_
activityUrl = f'https://prodev.m.jd.com/mall/active/{activityId}/index.html?code={authorCode}&invitePin={invitePin}' # 活动链接 activityUrl = f'https://prodev.m.jd.com/mall/active/{activityId}/index.html?code={authorCode}&invitePin={invitePin}' # 活动链接
inveteck = checkpin(cks, invitePin) # 根据设定的pin返回对应ck
needinviteNum = [] # 需要助力次数 needinviteNum = [] # 需要助力次数
needdel = [] needdel = []
need = [] need = []
if inveteck: if inveteck:
print(f"📝若已加入活动店铺会员,则无法助力。\n【🛳活动入口】{activityUrl}\n") print(f"📝若已加入活动店铺会员,则无法助力。\n【🛳活动入口】https://prodev.m.jd.com/mall/active/{activityId}/index.html?code={authorCode}\n")
ua = userAgent() # 获取ua ua = userAgent() # 获取ua
result = await check(ua, inveteck) # 检测ck result = await check(ua, inveteck) # 检测ck
if result['code'] == 200: if result['code'] == 200:
@ -270,8 +277,8 @@ async def main():
successCount = result['data']['successCount'] # 当前成功数 successCount = result['data']['successCount'] # 当前成功数
success += successCount success += successCount
result_data = result['data']['rewards'] # 奖品数据 result_data = result['data']['rewards'] # 奖品数据
print(f'🤖您好!账号[{invitePin}]\n✅开启{brandName}邀请好友活动\n去开活动') print(f'🤖您好!账号[{invitePin_}]\n✅开启{brandName}邀请好友活动\n去开活动')
MSG += f'✅账号[{invitePin}]\n开启{brandName}邀请好友活动\n📝活动地址{activityUrl}\n' MSG += f'✅账号[{invitePin_}]\n开启{brandName}邀请好友活动\n📝活动地址https://prodev.m.jd.com/mall/active/{activityId}/index.html?code={authorCode}\n'
for i in result_data: for i in result_data:
stage = i['stage'] stage = i['stage']
inviteNum = i['inviteNum'] # 单次需要拉新人数 inviteNum = i['inviteNum'] # 单次需要拉新人数
@ -286,22 +293,22 @@ async def main():
if len(rewardslist) != 0: if len(rewardslist) != 0:
print('🎁当前活动奖品如下: \n' + str('\n'.join(rewardslist)) + f'\n当前已助力{successCount}\n') print('🎁当前活动奖品如下: \n' + str('\n'.join(rewardslist)) + f'\n当前已助力{successCount}\n')
MSG += f"🎁当前活动奖品如下: \n{str(''.join(rewardslist))}\n" MSG += f"🎁当前活动奖品如下: \n{str(''.join(rewardslist))}\n"
for nmubers in needdel: for numbers in needdel:
if success >= nmubers: if success >= numbers:
print("🎉您当前助力已经满足了,可以去领奖励了") print("🎉您当前助力已经满足了,可以去领奖励了")
print(f'\n📝这就去领取奖励{need.index(nmubers) + 1}') print(f'\n📝这就去领取奖励{need.index(numbers) + 1}')
result = await memberBringInviteReward(inveteck, ua, need.index(nmubers) + 1) result = await memberBringInviteReward(inveteck, ua, need.index(numbers) + 1)
try: try:
if result['success']: if result['success']:
print(f"🎉成功领取 {rewardNameList[need.index(nmubers)]}") print(f"🎉成功领取 {rewardNameList[need.index(numbers)]}")
MSG += f"🎉成功领取 {rewardNameList[need.index(nmubers)]}\n" MSG += f"🎉成功领取 {rewardNameList[need.index(numbers)]}\n"
else: else:
print(f"{rewardNameList[need.index(nmubers)]} {result['errorMessage']}") print(f"{rewardNameList[need.index(numbers)]} {result['errorMessage']}")
MSG += f"{rewardNameList[need.index(nmubers)]} {result['errorMessage']}\n" MSG += f"{rewardNameList[need.index(numbers)]} {result['errorMessage']}\n"
except: except:
print(result) print(result)
MSG += f"{result}\n" MSG += f"{result}\n"
needinviteNum.remove(nmubers) needinviteNum.remove(numbers)
await asyncio.sleep(10) await asyncio.sleep(10)
needdel = needinviteNum needdel = needinviteNum
if needinviteNum == []: if needinviteNum == []:
@ -318,24 +325,24 @@ async def main():
except IndexError: except IndexError:
pin = f'用户{n}' pin = f'用户{n}'
print(f'******开始【京东账号{n}{pin} *********\n') print(f'******开始【京东账号{n}{pin} *********\n')
for n, nmubers in enumerate(needinviteNum, 1): for n, numbers in enumerate(needinviteNum, 1):
for nmubers in needdel: for numbers in needdel:
if success >= nmubers: if success >= numbers:
print(nmubers) print(numbers)
print("🎉您当前助力已经满足了,可以去领奖励了") print("🎉您当前助力已经满足了,可以去领奖励了")
print(f'\n📝这就去领取奖励{need.index(nmubers) + 1}') print(f'\n📝这就去领取奖励{need.index(numbers) + 1}')
result = await memberBringInviteReward(inveteck, ua, need.index(nmubers) + 1) result = await memberBringInviteReward(inveteck, ua, need.index(numbers) + 1)
try: try:
if result['success']: if result['success']:
print(f"🎉成功领取 {rewardNameList[need.index(nmubers)]}") print(f"🎉成功领取 {rewardNameList[need.index(numbers)]}")
MSG += f"🎉成功领取 {rewardNameList[need.index(nmubers)]}\n" MSG += f"🎉成功领取 {rewardNameList[need.index(numbers)]}\n"
else: else:
print(f"{rewardNameList[need.index(nmubers)]} {result['errorMessage']}") print(f"{rewardNameList[need.index(numbers)]} {result['errorMessage']}")
MSG += f"{rewardNameList[need.index(nmubers)]} {result['errorMessage']}\n" MSG += f"{rewardNameList[need.index(numbers)]} {result['errorMessage']}\n"
except: except:
print(result) print(result)
MSG += f"{result}\n" MSG += f"{result}\n"
needinviteNum.remove(nmubers) needinviteNum.remove(numbers)
await asyncio.sleep(10) await asyncio.sleep(10)
needdel = needinviteNum needdel = needinviteNum
if needinviteNum == []: if needinviteNum == []:
@ -346,6 +353,9 @@ async def main():
return return
await plogin(ua, ck) # 获取登录状态 await plogin(ua, ck) # 获取登录状态
result = await check(ua, ck) # 检测ck result = await check(ua, ck) # 检测ck
if n != 1:
invitePin = invitePin_
activityUrl = f'https://prodev.m.jd.com/mall/active/{activityId}/index.html?code={authorCode}&invitePin={invitePin}'
if result['code'] == 200: if result['code'] == 200:
result = await memberBringActPage(ua, ck) # 调用ck result = await memberBringActPage(ua, ck) # 调用ck
if result['success']: if result['success']:
@ -372,9 +382,8 @@ async def main():
print(result) print(result)
await asyncio.sleep(2) await asyncio.sleep(2)
else: else:
print('⛈您已经是会员啦,不去请求入会了\n') print('⛈您已经是会员啦,不去请求入会了\n')
continue continue
except TypeError as e: except TypeError as e:
print(e) print(e)
result = await memberBringJoinMember(ua, ck) result = await memberBringJoinMember(ua, ck)
@ -388,6 +397,8 @@ async def main():
else: else:
print(f"{result['errorMessage']}") print(f"{result['errorMessage']}")
await asyncio.sleep(2) await asyncio.sleep(2)
if n == 1:
await memberBringFirstInvite(inveteck, ua) # 开启邀请
else: # 没有获取到活动信息 else: # 没有获取到活动信息
print('未获取到活动参数信息\n') print('未获取到活动参数信息\n')

11
jd_jdjoypark.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long