必应Rewards自动完成

必应Rewards当日任务自动完成工具

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         必应Rewards自动完成
// @namespace    https://ez118.github.io/
// @version      1.7.1
// @description  必应Rewards当日任务自动完成工具
// @author       ZZY_WISU
// @match        https://cn.bing.com/*
// @match        https://www.bing.com/*
// @license      GNU GPLv3
// @icon         https://cn.bing.com/favicon.ico
// @run-at       document-end
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

var max_rewards = 25; /*每次重复执行的次数*/
var search_dic = ["观沧海","闻王昌龄左迁龙标遥有此寄","次北固山下","天净沙·秋思","咏雪","陈太丘与友期行",
                  "诫子书","穿井得一人","杞人忧天","峨眉山月歌","江南逢李龟年","行军九日思长安故园",
                  "夜上受降城闻笛","秋词·其一","夜雨寄北","十一月四日风雨大作·其二","潼关","孙权劝学",
                  "木兰诗","卖油翁","陋室铭","爱莲说","登幽州台歌","望岳","登飞来峰","游山西村",
                  "己亥杂诗·其五","活板","竹里馆","春夜洛城闻笛","逢入京使","晚春","泊秦淮","贾生",
                  "过松源晨炊漆公店","约客","三峡","答谢中书书","记承天寺夜游","与朱元思书","野望",
                  "黄鹤楼","使至塞上","渡荆门送别","钱塘湖春行","得道多助,失道寡助","富贵不能淫",
                  "生于忧患,死于安乐","愚公移山","周亚夫军细柳","饮酒·其五","春望","雁门太守行","赤壁",
                  "渔家傲·天接云涛连晓雾"]; /*搜索字典*/


/* 注册菜单 */
let menu1 = GM_registerMenuCommand('开始', () => {
    GM_setValue('Cnt', 0);
    location.href = "https://cn.bing.com/search?q=即将开始,请等待";
}, 'b');

let menu2 = GM_registerMenuCommand('停止', () => {
    GM_setValue('Cnt', max_rewards + 10);
}, 's');




/* 自动搜索部分 */
function AutoStrTrans(st) {
    let yStr = st; /*原字符串*/
    let rStr = search_dic[Math.floor(Math.random()*search_dic.length)].substr(0, 2); /*"试验"; 插入的字符*/
    let zStr = ""; /*结果*/
    let prePo = 0;
    for (let i = 0; i < yStr.length;) {
        let step = parseInt(Math.random() * 6) + 1;
        if (i > 0) {
            zStr = zStr + yStr.substr(prePo, i - prePo) + rStr;
            prePo = i;
        }
        i = i + step;
    }
    if (prePo < yStr.length) {
        zStr = zStr + yStr.substr(prePo, yStr.length - prePo)
    }
    return zStr;
}

function doSearch(wd){
    let ipt = document.getElementById("sb_form_q");
    let btn = document.getElementById("sb_form_go");
    let form = document.getElementById("sb_form");

    if(GM_getValue('Cnt') % 3 == 0) {
        location.replace("https://cn.bing.com/search?q=" + encodeURI(wd) + "&PC=U316&FORM=CHROMN")
    } else if(GM_getValue('Cnt') % 3 == 1) {
        // 填入搜索词
        ipt.value = wd;
        setTimeout(() => { form.submit(); }, 500);
    } else if(GM_getValue('Cnt') % 3 == 2) {
        // 填入搜索词
        ipt.value = wd;
        setTimeout(() => { btn.click(); }, 500);
    }
}

/* 面板快捷打卡部分 */
function isPanelUrl(){
    return window.location.href.includes("bing.com/rewards/panelflyout") ? true : false;
}

function doOpenTabs(){
    let items = document.getElementsByClassName("promo_cont");
    items.forEach((item, index) => {
        setTimeout(() => {
            let at = item.getElementsByTagName("a")[0];
            if(at.getAttribute("target") == "_blank") {
                at.click();
            }
        }, index * 40);
    })
}

(function() {
    'use strict';

    if(isPanelUrl()) {
        setTimeout(() => {
            var element = document.getElementsByClassName("css-109")[0];

            // 创建一个按钮元素
            var button = document.createElement("input");
            button.value = "【必应Rewards自动完成】";
            button.type = "button"
            element.appendChild(button);
            button.addEventListener('click', () => {
                doOpenTabs();
            });
        }, 500);
        return;
    }


    // 变量初始化
    if(GM_getValue('Cnt') == null){ GM_setValue('Cnt', max_rewards + 10); }

    // 执行自动搜索计分
    if(GM_getValue('Cnt') < max_rewards){
        // 设置标题
        var siteTitle = document.getElementsByTagName("title")[0];
        siteTitle.innerHTML = "[" + GM_getValue('Cnt') + " / " + max_rewards + "] " + siteTitle.innerHTML;

        setTimeout(() => {
            GM_setValue('Cnt', GM_getValue('Cnt') + 1);

            let nowtxt = search_dic[ GM_getValue('Cnt')];
            nowtxt = AutoStrTrans( nowtxt );

            doSearch( nowtxt );
        }, 3000);
    }
})();