Greasy Fork

Greasy Fork is available in English.

pterclub-auto-wof加强版

白兔大转盘自动抽奖,安装后打开大转盘页面,就会自动抽奖,打开console可以看到抽奖详情(参考猫站修改,感谢 wget, source 大佬)

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name pterclub-auto-wof加强版
// @namespace http://tampermonkey.net/
// @version 0.2
// @description 白兔大转盘自动抽奖,安装后打开大转盘页面,就会自动抽奖,打开console可以看到抽奖详情(参考猫站修改,感谢 wget, source 大佬)
// @author Cat911
// @match https://pterclub.com/wof.php*
// @match https://pterclub.com/dowof.php*
// @match https://club.hares.top/wof.php*
// @match https://club.hares.top/dowof.php*
// @grant none
// ==/UserScript==

(function () {
  'use strict';

  var clearBonus = {
    container: '.Detail', // 渲染容器

    lotteryData: {
      // 抽奖基础数据
      autoStatus: 0, // 默认关闭抽奖,-1 表示一直自动抽
      lotteryTimes: 0,
      winning1Times: 0,
      winning2Times: 0,
      winning3Times: 0,
      winning4Times: 0,
      winning5Times: 0,
      winning6Times: 0,
      winning7Times: 0,
    },

    pageData: {
      totalBonus: 0,
      price: 2000, // 每次消耗
    },

    sleep(ms) {
      return new Promise(resolve => setTimeout(resolve, ms));
    },

    getData() {
      const lotteryData = JSON.parse(localStorage.getItem('lotteryData'));
      if (lotteryData) {
        this.lotteryData = lotteryData;
      }
    },

    renderLog() {
      $('.auto-times').val(this.lotteryData.autoStatus == 0 ? 10 : this.lotteryData.autoStatus);
      $('.current-status').text(`当前状态: ${this.lotteryData.autoStatus == 0 ? '已停止' : '抽奖中'}`);
      $('.log').html(`
        已抽奖次数: ${this.lotteryData.lotteryTimes},
        还可以抽奖次数: ${parseInt(this.pageData.totalBonus / this.pageData.price)}}<br/>
        已中一等奖次数: ${this.lotteryData.winning1Times}, 当前概率:${(this.lotteryData.winning1Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%<br/>
        已中二等奖次数: ${this.lotteryData.winning2Times}, 当前概率:${(this.lotteryData.winning2Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%<br/>
        已中三等奖次数: ${this.lotteryData.winning3Times}, 当前概率:${(this.lotteryData.winning3Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%<br/>
        已中四等奖次数: ${this.lotteryData.winning4Times}, 当前概率:${(this.lotteryData.winning4Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%<br/>
        已中五等奖次数: ${this.lotteryData.winning5Times}, 当前概率:${(this.lotteryData.winning5Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%<br/>
        已中六等奖次数: ${this.lotteryData.winning6Times}, 当前概率:${(this.lotteryData.winning6Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%<br/>
        中谢谢参与次数: ${this.lotteryData.winning7Times}, 当前概率:${(this.lotteryData.winning7Times/this.lotteryData.lotteryTimes*100).toFixed(2)}%
      `);
    },

    openAutoLottery() {
      this.lotteryData.autoStatus = -1;
      localStorage.setItem('lotteryData', JSON.stringify(this.lotteryData));
      window.location.reload();
    },

    closeAutoLottery() {
      this.lotteryData.autoStatus = 0;
      localStorage.setItem('lotteryData', JSON.stringify(this.lotteryData));
    },

    setLotteryTime(t) {
      this.lotteryData.autoStatus = t;
      localStorage.setItem('lotteryData', JSON.stringify(this.lotteryData));
      window.location.reload();
    },

    init() {
      this.pageData.totalBonus = parseInt($('b')[0].innerText.substr(7).replaceAll(',', ''));
      this.getData();

      $(this.container).append(`
        <div style="margin:5px 0;">
          ${
            this.lotteryData.autoStatus == 0
              ? `<button class="auto-start"> 一直抽奖 </button>`
              : ``
          }
          ${
            this.lotteryData.autoStatus != -1
              ? `<span> 再抽<input class="auto-times" type="number" size="5" value="10"></input>次 ${
                  this.lotteryData.autoStatus == 0
                    ? `<button class="set-times"> 开始 </button></span>`
                    : ``
                }`
              : ``
          }
          ${
            this.lotteryData.autoStatus != 0
              ? `<button class="auto-stop"> 停止抽奖 </button>`
              : ``
          }
          <span class="current-status"></span>
        </div>
        <div class="log"></div>
      `);

      this.renderLog();

      window.alert = (message) => {
        this.lotteryData.lotteryTimes++;
        if (message.indexOf('一等奖') == 0) {
          this.lotteryData.winning1Times++;
        }
        if (message.indexOf('二等奖') == 0) {
          this.lotteryData.winning2Times++;
        }
        if (message.indexOf('三等奖') == 0) {
          this.lotteryData.winning3Times++;
        }
        if (message.indexOf('四等奖') == 0) {
          this.lotteryData.winning4Times++;
        }
        if (message.indexOf('五等奖') == 0) {
          this.lotteryData.winning5Times++;
        }
        if (message.indexOf('六等奖') == 0) {
          this.lotteryData.winning6Times++;
        }
        if (message.indexOf('谢谢参与奖') == 0) {
          this.lotteryData.winning7Times++;
        }
        if (this.lotteryData.autoStatus > 0) {
          this.lotteryData.autoStatus--;
        }
        localStorage.setItem('lotteryData', JSON.stringify(this.lotteryData));
      };

      console.log(this.lotteryData);

      if (this.lotteryData.autoStatus) {
        this.sleep(3000).then(() => {
          $('#inner').click();
        });
      }

      $('.auto-start').click(() => {
        this.openAutoLottery();
      });

      $('.auto-stop').click(() => {
        this.closeAutoLottery();
      });

      $('.set-times').click(() => {
        this.setLotteryTime(Number($('.auto-times').val()));
      });
    },
  };

  clearBonus.init();
})();