2025年3月17日星期一

NGA论坛任务脚本

1.购买服务器

阿里云:

服务器购买地址

https://t.aliyun.com/U/8qaNGK

若失效,可用地址

https://www.aliyun.com/activity/wuying/dj?source=5176.29345612&userCode=49hts92d

腾讯云:

https://curl.qcloud.com/wJpWmSfU

若失效,可用地址

https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console

华为云

https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

2.部署教程

2024年最新青龙面板跑脚本教程(一)持续更新中

3.代码如下

const axios = require("axios");
function ngaGet(lib, act, output = 11, other = null) {    return new Promise(async (resolve) => {        try {            let nga = config.nga;            let url = "https://ngabbs.com/nuke.php";            let res = await axios.post(                url,                `access_uid=${nga.uid}&access_token=${          nga.accesstoken        }&    app_id=1010&__act=${act}&__lib=${lib}&__output=${output}&${other}`, {                    headers: {                        "User-Agent":  nga.UA ? nga.UA : "xxxxxx Nga_Official/90409"                    }                }            );                        console.log("    " + (res.data && res.data.time || res.data.code))            resolve(res.data)        } catch (err) {            console.log(err);            resolve({                error: ["签到接口请求出错"]            })        }        resolve();    });}
async function task() {    msg = "【NGA】:\n"    //签到    let res1 = await ngaGet("check_in""check_in")    if (res1 && res1.data) {        msg += "    签到:" + res1.data[0];    } else {        console.log(res1);        msg += "    签到:" + (res1.error && res1.error[0]);    }    if (!msg.match(/登录|CLIENT/)) {        await ngaGet("mission""checkin_count_add"11"mid=2&get_success_repeat=1&no_compatible_fix=1")       await ngaGet("mission""checkin_count_add"11"mid=131&get_success_repeat=1&no_compatible_fix=1")                await ngaGet("mission""checkin_count_add"11"mid=30&get_success_repeat=1&no_compatible_fix=1")        console.log("看视频免广告")        await ngaGet("mission""video_view_task_counter_add_v2_for_adfree_sp1")        for (c of new Array(4)) await ngaGet("mission""video_view_task_counter_add_v2_for_adfree")        console.log("看视频得N币")        for (c of new Array(5)) await ngaGet("mission""video_view_task_counter_add_v2")        //分享帖子        console.log("分享帖子 5")        tid = Math.ceil(Math.random() * 12346567) + 12345678        for (c of new Array(5)) await ngaGet("data_query""topic_share_log_v2"12"event=4&tid=" + tid)        console.log("领取分享奖励 1N币")        await ngaGet("mission""check_mission"11"mid=149&get_success_repeat=1&no_compatible_fix=1")        //查询        let {            data: [sign, money, y]        } = await ngaGet("check_in""get_stat")        msg += ` 连签 ${sign.continued}天 累签 ${sign.sum}天\n    N币:${money.money_n}\n    铜币:${money.money}\n    啊哈:${y[0]}`    }    return msg}
module.exports = task;

解析

这脚本是一个自动化任务处理器,用于在NGA论坛上执行一系列任务,如签到、观看视频以免广告、分享帖子以及领取奖励等。

  1. ngaGet 函数

    • 该函数封装了对NGA论坛API的POST请求。
    • 接受几个参数:lib(API库名),act(操作类型),output(输出格式ID,默认为11),以及other(其他任何需要附加在POST数据中的参数)。
    • 使用axios库向NGA论坛的API端点https://ngabbs.com/nuke.php发送请求。
    • 请求中包括用户的UID和access token,这些认证信息存储在config.nga中。
    • 请求成功后,打印出相关的响应时间或代码,最终将响应数据通过Promise返回。
  2. task 函数

    • 主功能函数,用于协调和执行多个任务。
    • 首先进行签到操作,调用ngaGet函数。
    • 根据签到结果更新消息,如果未发现登录错误则执行后续任务。
    • 进行多个任务,如增加签到计数、观看视频任务(分为免广告和获得N币两种类型)、分享帖子,以及领取分享奖励。
    • 使用ngaGet函数进行每个任务的API调用,逻辑包括循环执行某些任务和随机生成帖子ID以分享。
    • 在任务完成后,调用ngaGet获取用户的签到统计、N币和铜币数量。
    • 最终汇总所有信息,并返回。
  3. 模块导出

    • task函数导出,允许其他文件通过require调用此函数进行任务操作。

这个脚本通过模块化和函数封装来简化对NGA论坛的日常任务自动化处理。通过ngaGet函数通用化API请求的过程,而task函数则负责协调整个任务流程,确保按顺序执行各个任务,并处理相关的数据和状态更新。这种设计增加了代码的重用性和维护性。



注意

本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。


没有评论:

发表评论

工作人员回应胖东来和田玉专柜挤爆:货源有限,已改为线上约号购买

连日来,胖东来和田玉专柜销售火爆,多位代购称这几天基本还不到中午,和田玉就售罄了。 5月8日,许昌胖东来时代广场珠宝区工作人员向九派新闻介绍,目前和田玉已改为线上约号模式,一月只能约一次,翡翠等还是现场排队取号。 其称,一天共50个名额,受网络相关事件影响,顾客越来越多,...