上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

求大神帮我看看pttime脚本签到错误问题

[复制链接]
  • TA的每日心情
    开心
    7 天前
  • 签到天数: 101 天

    [LV.6]常住居民II

    1

    主题

    6

    回帖

    53

    积分

    初级工程师

    积分
    53
    发表于 2023-8-25 14:12:27 | 显示全部楼层 | 阅读模式
    悬赏6油猫币未解决

    // ==UserScript==
    // @name PT时间每日定时签到【脚本猫专用】
    // @version 0.1.0
    // @description 定时脚本,每日1次,需要先登陆https://www.pttime.org/index.php
    // @author shay
    // @grant GM_xmlhttpRequest
    // @grant GM_notification
    // @connect pttime
    // @crontab 1-59 once *
    // ==/UserScript==

    return new Promise((resolve, reject) => {
    GM_xmlhttpRequest({
    method: "GET",
    url: "https://www.pttime.org/attendance.php",
    onload: xhr => {
    console.log(xhr)
    try {
    resolve(xhr.responseText.match(/dynamicurl|\/(.+?)|/)[1])
    } catch {
    let text = "PT时间定时签到成功(我也不知道为啥就成功了)-重复签到"
    GM_notification(text)
    reject(text)
    }
    },
    onerror: xhr => {
    console.log(xhr)
    let text = "PT时间定时签到失败-网络错误或重复签到"
    GM_notification(text)
    reject(text)
    }
    })
    }).then(url => {
    return new Promise((resolve, reject) => {
    GM_xmlhttpRequest({
    method: "GET",
    url: "https://www.pttime.org" + url + "attendance.php",
    onload: xhr => {
    console.log(xhr)
    let text
    if (xhr.responseText.includes("任务已完成")) {
    text = "PT时间定时签到成功"
    GM_notification(text)
    resolve(text)
    } else if (xhr.responseText.includes("本期您已申请过此任务")) {
    text = "PT时间定时签到失败 - 重复签到"
    GM_notification(text)
    resolve(text)
    } else {
    text = "PT时间定时签到失败-未知错误-详见调试"
    GM_notification(text)
    reject(text)
    }
    },
    onerror: xhr => {
    console.log(xhr)
    let text = "PT时间定时签到失败-网络错误"
    GM_notification(text)
    reject(text)
    }
    })
    })
    })

    上面是具体代码,是以前ptt签到的代码,后来不知道怎么就失效了,然后我自己改了改。每天0点开始运行,也不知道为啥就成功了,但失败后不会再次执行。希望大神能帮忙看看,顺便改善一下代码,使得弹出信息能显示签到后,获得了多少魔力值,还有多少魔力值。谢谢

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2023-8-25 14:41:47 | 显示全部楼层
    // @crontab 1-59 once *

    这表达式不对啊

    另外贴代码建议用markdown编辑器的code模式,例如

    ```js
    你的代码
    ```

    这样太乱了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 101 天

    [LV.6]常住居民II

    1

    主题

    6

    回帖

    53

    积分

    初级工程师

    积分
    53
    发表于 2023-8-25 15:59:32 | 显示全部楼层
    // ==UserScript==
    // @name         PT时间每日定时签到【脚本猫专用】
    // @version      0.1.0
    // @description  定时脚本,每日1次,需要先登陆https://www.pttime.org/index.php
    // @author       shay
    // @grant        GM_xmlhttpRequest
    // @grant        GM_notification
    // @connect      pttime
    // @crontab      1-59 * once * *
    // ==/UserScript==
    
    return new Promise((resolve, reject) => {
        GM_xmlhttpRequest({
            method: "GET",
            url: "https://www.pttime.org/attendance.php",
            onload: xhr => {
                console.log(xhr)
                try {
                    resolve(xhr.responseText.match(/dynamicurl\|\/(.+?)\|/)[1])
                } catch {
                    let text = "PT时间定时签到成功(我也不知道为啥就成功了)-重复签到"
                    GM_notification(text)
                    reject(text)
                }
            },
            onerror: xhr => {
                console.log(xhr)
                let text = "PT时间定时签到失败-网络错误或重复签到"
                GM_notification(text)
                reject(text)
            }
        })
    }).then(url => {
        return new Promise((resolve, reject) => {
            GM_xmlhttpRequest({
                method: "GET",
                url: "https://www.pttime.org" + url + "attendance.php",
                onload: xhr => {
                    console.log(xhr)
                    let text
                    if (xhr.responseText.includes("任务已完成")) {
                        text = "PT时间定时签到成功"
                        GM_notification(text)
                        resolve(text)
                    } else if (xhr.responseText.includes("本期您已申请过此任务")) {
                        text = "PT时间定时签到失败 - 重复签到"
                        GM_notification(text)
                        resolve(text)
                    } else {
                        text = "PT时间定时签到失败-未知错误-详见调试"
                        GM_notification(text)
                        reject(text)
                    }
                },
                onerror: xhr => {
                    console.log(xhr)
                    let text = "PT时间定时签到失败-网络错误"
                    GM_notification(text)
                    reject(text)
                }
            })
        })
    })

    这样吗?

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 811 天

    [LV.10]以坛为家III

    31

    主题

    552

    回帖

    1555

    积分

    荣誉开发者

    积分
    1555

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2023-8-25 16:55:48 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4188

    回帖

    4055

    积分

    管理员

    积分
    4055

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2023-8-25 17:08:44 | 显示全部楼层
    shayshay 发表于 2023-8-25 15:59
    [md]```js
    // ==UserScript==
    // @name         PT时间每日定时签到【脚本猫专用】

    使用markdown编辑器,我给你改了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 101 天

    [LV.6]常住居民II

    1

    主题

    6

    回帖

    53

    积分

    初级工程师

    积分
    53
    发表于 2023-8-26 02:27:53 | 显示全部楼层
    steven026 发表于 2023-8-25 16:55
    https://scriptcat.org/script-show-page/550/code
    你抄也别抄错啊……

    兄弟你的链接我访问不了啊
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-7-30 00:00
  • 签到天数: 122 天

    [LV.7]常住居民III

    29

    主题

    601

    回帖

    542

    积分

    专家

    积分
    542

    油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2023-8-26 14:05:12 | 显示全部楼层
    shayshay 发表于 2023-8-26 02:27
    兄弟你的链接我访问不了啊

    哥,冷静,哥先别暴怒,哥你先别怪罪任何原因,哥,你先关闭V{}P[]N
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表