(已无法使用)使用云函数进行京东自动签到领京豆/红包 Vol.3

August 19, 2021 · 教程 · 43442次阅读

一.前言

本文是云函数系列第3部,难度稍微大一点,云函数是腾讯云推出的一款产品,其免费额度也不错,白嫖一下啦!

需要注意的是,云函数的流量不免费,特殊地区流量费会偏高

这里是一些效果

能领一些红包
挂着领京豆
支持非常多的推送方式,微信server酱、pushplus(推送加)、iOS Bark APP、telegram机器人、钉钉机器人、企业微信机器人、iGot

Github地址

二.材料

  1. 一个Github账号(没有的点这里申请 )
  2. 一个腾讯云账号 ( 已实名认证 ) | 点我注册
  3. 一双手
  4. 会使用搜索引擎的大脑
  5. 很有用的 环境变量说明
本人写出本文是为了供广大朋友学习交流,我不知此方法是否会导致你的账号异常,故请慎重考虑后再学习!若你使用此方法导致你的账号异常,本人不承担任何责任!

三.Github准备

(1)创建一个空Github库并进入 点我创建


此时你的仓库右侧会有Private字样

(2)进入刚才创建的库,点击左下方的 Import code

输入 https://github.com/Ca11back/doge-template 等待代码同步

(3)申请PAT

点此来生成一个 token ,把 repoworkflow 两部分勾上,然后点击最下面的创建按钮。

此时会生成一串字符,切记储存好这一段字符,只显示一次

(4)填写PAT到Secrets

申请完毕后,在刚刚创建的库中点击
Settings-Secrets-New secret

name填PAT,Value填入上方申请到的PAT,保存即可

(5)同步仓库

在刚刚创建的库中点击
Actions-Select Workflow(手机端需要点击该选项)-Sync Config(似乎名字是这样的)

如果有黄色提示,点击黄色提示右侧按钮进行启用Workflow

再点击右侧 Run workflow即可完成同步

图片上Sync是以前的方式,现已废弃,不用在意,图片仅供参考

PC端

(7)获取config分支

在刚刚创建的库中点击
Actions--Select Workflow(手机端需要点击该选项)--Sync(获取/重置/更新配置文件config分支.已存在会强制覆盖!)(似乎名字是这样的)--Run Workflow
即可

四.云函数准备

(1)开通必要服务

依次登录 SCF 云函数控制台SLS 控制台 开通相关服务。一般来说,进入后等一下会出现开通服务的提示。
确保账户下已开通服务并创建相应 服务角色 : SCF_QcsRole、SLS_QcsRole

注意!为了确保权限足够,获取这两个参数时不要使用子账户!此外,腾讯云账户需要实名认证

(2)配置腾讯云访问密钥

点我创建密钥
记录SecretKeySecretId两串字符

在刚刚创建的库中进行如下操作来进入config分支
Code--main--View all branches--All branches--config
(注意,此处为手机版Github的方式,电脑版没去尝试,应该类似)



此时你会进入config分支
点击View code--.env--Edit file

SecretKeySecretId填入相应位置

完成后划到下方,点击绿色的 Commit changes 确认更改

(3)设置密钥

区域可以任选(流量费不一样,尽量国内),如果需要使用TG机器人推送通知,建议选择香港
定价和更多地区请点我查看
  1. 想好你选择的地区代号,成都为ap-chengdu,香港为ap-hongkong 定价和更多地区请点我查看
  2. 在Github方前创建的库中点击Settings-Secrets-New secret 依次创建两个变量,Name和Value分别为
NameValue
TENCENT_FUNCTION_NAMEjingdong
SCF_REGION你的云函数的地区代号

3.获取京东的Cookie

(1)PC端

  1. 打开 京东手机版页面 并使用手机验证码登陆(这种方式Cookie有效期最长,约31天)
  2. F12 打开开发者工具,选到 Application
  3. 复制pk_key和pt_pin,按照以下格式排列,注意符号
pt_key=复制的key值;pt_pin=复制的pin值;
  • 实例:
pt_key=AAJhHagTi62vyR3720LsBJVjRMdjbdusu;pt_pin=jd_49434;
  • 如果有多个京东账号,用&连接,格式为:一个京东账号Cookie&另一个京东账号Cookie
pt_key=AAJhHagTi62v2sdudNdjbdusu;pt_pin=jd_49434584;&pt_key=AAJhHagTi62v2sdudNdjbdusu;pt_pin=jd_49434584;

(2)安卓端

  1. 安装kiwi浏览器(或有开发者工具的浏览器都可以) 查看链接
  2. 打开 京东手机版页面 并使用手机验证码登陆(这种方式Cookie有效期最长,约31天)
  3. 打开开发者工具(菜单栏里),打开电脑模式,选择 Application
  4. 找到pk_key和pt_pin
  • 方法①
    如果你的手机可以打开 小窗 ,尝试长按文字后拖入某些可以打字的窗口[如:系统自带的笔记/标签,QQ]

  • 方法②
  • 方法③
    截图,用某些软件文字识别(比如翻译软件、QQ等)

  • 按照以下格式排列,注意符号和识别后产生的空格
pt_key=复制的key值;pt_pin=复制的pin值;
  • 实例:
pt_key=AAJhHagTi62v2sdudNdjbdusu;pt_pin=jd_49434584;
  • 如果有多个京东账号,用 & 连接,格式为:一个京东账号Cookie&另一个京东账号Cookie
pt_key=AAJhHagTi62v2sdudNdjbdusu;pt_pin=jd_49434584;&pt_key=AAJhHagTi62v2sdudNdjbdusu;pt_pin=jd_49434584;

(3)Github添加Cookie变量

其他变量请查看: 环境变量说明

在刚刚创建的库中进行如下操作进入config分支(注意,如果能在这里直接看到config分支的话,点击即可,不需要进行下方繁琐的操作)

Code--main--View all branches--View all branches--All branches--config

此时你会进入config分支,再次点击View code--config.yml

上方操作会被用到很多次,该操作在之后出现时将省略

编辑这个文件(不会? 看看这里吧),在文件最后,根据图片上的样子填写

看清楚哪里有空格啊喂!
是英文的冒号":" 不是中文的啊喂!

NameValue
JD_COOKIE刚才排列好的Cookie

例如

JD_COOKIE: pt_key=AAJhHagTi62v2sdudNdjbdusu;pt_pin=jd_49434584;

4.无推送直接部署(不建议)

如果你不需要消息推送的话,现在就可以部署了,坏处就是京东账号的变化不能及时了解

在刚才创建的库中点击 Actions按图操作(图片为手机版页面,电脑版类似)
注意: 如果有一个黄色提示,请先点击提示右侧的按键再按图操作

检查是否部署成功
进入 函数服务
查看环境变量,若变量同步到云函数,即为成功

点我进入下一步:测试

5.使用Sever酱微信推送(限制推送量)

申请完成后填写 config.yml ,不会?看看这里吧

NameValue
PUSH_KEYSever酱给你的SendKey

6.使用TG机器人推送(无推送用量限制)

部分参考可能是全网最基础的创建telegram bot的教程
此时,我们假设你有了合适的网络,一个TG账号

(1)向Bot Father 申请一个bot token

  1. 首先在telegram中搜索 botfather ,并和botfather开始对话:
  2. 按下 /start 之后,botfather会回复如下信息:
  3. 紧接着回复 /newbot 开始创建你的bot,botfather会要求你输入 bot的名字bot用户名
    bot名会显示在搜索界面,而bot的username在搜索bot和添加bot入group的时候会起作用(你无法通过搜索bot名来添加bot如群组)
  4. username 必须 以 bot 或者 _bot (不区分大小写)结尾:如 ABCBot,ABC_bot。
  5. 完成了这两项后,botfather会给你bot专属的token( 保存好,之后会用 ):
    大概像这样
123456789:qwertyuiopasdfghjklzxcvbnmmnbvcxz

  1. 给你创建的机器人随便发条消息,否则机器人无法主动发给你消息

(2)获取你的用户id

  1. 打开TG,搜索@userinfobot 机器人(如图)
  2. 按下方 /start 后,机器人发给你一条包含id的消息,保存好,待会用

(3)配置Github的config.yml

应该不用多说了吧…看不懂?肯定没好好看教程

NameValue
TG_BOT_TOKEN刚才申请的机器人的Token
TG_USER_ID刚才从机器人得到的用户id

7.PUSHPLUS (两种方式)(限制推送量)

(1)一对一推送

和Sever酱很像,多了一个群组功能

点我进入PushPlus官网

扫码登陆后,可以获得一个Token

Github配置config.yml:

NameValue
PUSH_PLUS_TOKENPushplus给你的Token

(2)一对多推送

当你需要推送给多人时使用,在上一步的基础上

在这里创建一个群组,记录群组编号
查看链接

群组创建完毕后,你需要扫描二维码加入,订阅者也需要扫描二维码码加入


Github配置config.yml:

NameValue
PUSH_PLUS_TOKENPushplus给你的Token
PUSH_PLUS_USER群组编号
更多推送正在撰写,你可以参考脚本作者的环境变量说明 进行配置

四.部署

在刚才创建的库中点击 Actions按图操作
注意: 如果有一个黄色提示,请先点击提示右侧的按键再按图操作

检查是否部署成功
进入 函数服务
查看环境变量,若变量同步到云函数,即为成功

五.测试

切换到旧版编辑器,选择 Timer 定时触发器事件模板 ,Message右边双引号内写(不要删掉引号)

jd_bean_sign&jd_bean_change

点击测试

你将会收到通知推送(假如你设置了的话),文章字数超限了,没法放日志233

Enjoy

喝杯水 ENJOY 241

云函数

最后编辑于6小时前

  1. gloreday gloreday
    2022-02-07 15:39

    部署不成功,从1月30号开始的,不知道什么原因啊,不知道有没月相同问题的 已解决的大神!

  2. 风很冷 风很冷
    2022-02-07 14:26

    请问:我的提示找不到函数入口之后,我改了函数名字,成功了,之后又出现了这个问题,我再次更改函数名字,部署失败了,请问这个是什么原因呀

  3. 贵仙森 贵仙森
    2022-02-03 23:11

    telegram推送超时为啥

    2022-02-03T15:06:09.532Z c0e37b8d-b01f-46a6-8947-a163bc7e175b sendNotify:517: telegram发送通知消息失败!!

    2022-02-03T15:06:09.532Z c0e37b8d-b01f-46a6-8947-a163bc7e175b sendNotify:518: RequestError: Timeout awaiting 'request' for 15000ms

    at ClientRequest.<anonymous> (/var/user/node_modules/got/dist/source/core/index.js:962:65) at Object.onceWrapper (events.js:418:26) at ClientRequest.emit (events.js:323:22) at ClientRequest.origin.emit (/var/user/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20) at TLSSocket.socketErrorListener (_http_client.js:426:9) at TLSSocket.emit (events.js:311:20)
  4. 1982年的山泉水 1982年的山泉水
    2022-02-03 16:34

    6个签到验证,3个失败,1个失效,2个成功。Deploy(部署到云)大概需要4~6分钟。

  5. Calm Calm
    2022-02-03 02:17

    还能用吗,之前好好地,最近几天腾讯那边都是调用显示成功,来来回回换了好几次cookie,京豆都没反应。

    1. 2022-02-06 17:53

      号黑了?!

      先不要用了,过几天再说

  6. King King
    2022-01-30 22:53

    Deploy不到云函数了请问是为啥

    未找到函数执行入口文件,请确认代码包入口文件名和 handler 设置是否对应或代码压缩包是否正常。

    1. zzz zzz
      2022-02-04 21:00

      这个进pat里面把TENCENT_FUNCTION_NAME给改了就可以了

      1. gloreday gloreday
        2022-02-07 15:40

        改成什么啊?

  7. 33 33
    2022-01-30 14:33

    云函数的挂掉了, 2022-01-30T06:28:22.908Z 944d8a0c-fb5d-4165-a8da-8d99d120265c { key1: 'test value 1', key2: 'test value 2' }

    2022-01-30T06:28:22.910Z 944d8a0c-fb5d-4165-a8da-8d99d120265c 参数触发方式:未接收到任何参数,请阅读@hshx123大佬教程的测试步骤,查看如何使用.

  8. kakuma kakuma
    2022-01-29 10:43

    github的secrets界面怎么都进不去了?求解

  9. WINTERCAT WINTERCAT
    2022-01-29 04:05

    已经不能自动运行了,手动测试却能成功。自动日志未接收到任何参数。

    1. 2022-01-29 08:58

      云函数最近一直有问题,过了这段时间看看吧

      1. ak ak
        2022-02-05 22:11

        2022-02-05T14:06:57.954Z 097a25ae-50e8-4209-be97-41f420b441af index:173: 异步jd_bean_sign异常: Error: Cannot find module './jd_bean_sign.js'
        近期出现没有找到相应的js方法函数,但我并没有对函数有修改过,也重新部署过了,cookie也换过了都不行,请问这也是云函数自己的问题是吗

        1. 2022-02-06 17:53

          最近我没有用云函数了,不过云函数这些天问题太多了,也变贵了不少

          自我感觉,如果啥都没动的话,很有可能是京东问题

  10. 大笨熊 大笨熊
    2022-01-28 09:40

    挂了挂了

avatar

hshx123

164

文章数

1902

评论数

10

分类

新鲜出炉の评论

[万4 ONS已更新]万华镜1-5(ONS+PC)
mm
mm2022-09-25

(KRKR)Fate/hollow ataraxia
bubu
bubu2022-09-25

好耶

(PC/ONS)近月少女的礼仪1 月に寄りそう乙女の作法
一隻貓
一隻貓2022-09-25

好耶

(安卓+PC)末世孤雄0-2 (1为无修正) ゾンビのあふれた世界で俺だけが襲われない 在遍地都是丧尸的世界里唯独我不被袭击
LQ
LQ2022-09-25

Gracias 丨

恶魔的石板和被诅咒的犬公主安卓完整版
啊哈
啊哈2022-09-25

好看