傻傻做贡献,不知道进度?——跟我学,做聪明的破桃美化小猩猩

体娱   2024-11-05 08:01   北京  



#Wayfarer


点击上方蓝字关注 Ingress Beijing


鉴于最近的Wayfarer挑战并没有进度提示,而鄙人脑门一热在第一天就消耗光了所有修改Po描述的40个额度。之后每天的额度又只有10个。

而且参与挑战的操作有三类,包括修改Po位置、修改Po标题和文字描述、添加Po图片。额度都是分别计量的。

我等P人自然是干不出弄个Excel表记录每天的贡献这种事的。所以在感觉自己传了很多,但是又不知道够不够,差多少的情况下。

手搓了一个利用Wayfarer网站查询自己的破桃🍑贡献值的小脚本。

使用方法如下:

1.打开一个Chrome浏览器(其他浏览器貌似也可以,未测试,如果不能用请换Chrome

2.登录Wayfarer网站( https://wayfarer.nianticlabs.com/)

3.打开 Contribution (或者别的语言的这个页面,总之你能看到自己已经提交的申请列表就好了

4.右键单击页面并选择“检查”或按 F12 打开开发者工具。转到“控制台”选项卡。

5.将以下长长的 JavaScript 代码粘贴到控制台中并按 Enter 键运行


const itemsSet = new Set(); // 用于存储唯一的项目

let countDescriptionEdit = 0;

let countPhotoSubmission = 0;

let countLocationEdit = 0; // 新增:修改位置的项目计数

const descriptionProjectCounts = {}; // 存储修改描述的项目名称及其计数

const photoProjectCounts = {}; // 存储添加图片的项目名称及其计数

const locationProjectCounts = {}; // 存储修改位置的项目名称及其计数

// 更新统计信息的函数

function updateStats() {

  console.clear(); // 清除控制台

  console.log(修改描述的项目数量: ${countDescriptionEdit});

  console.log(添加图片的项目数量: ${countPhotoSubmission});

  console.log(修改位置的项目数量: ${countLocationEdit}); // 输出修改位置的项目数量

   

  // 显示修改描述的项目名称及其重复数量

  console.log("修改描述的项目: ");

  for (const [name, count] of Object.entries(descriptionProjectCounts)) {

    console.log(- ${name} (${count}次));

  }

  // 显示添加图片的项目名称及其重复数量

  console.log("添加图片的项目: ");

  for (const [name, count] of Object.entries(photoProjectCounts)) {

    console.log(- ${name} (${count}次));

  }

  // 显示修改位置的项目名称及其重复数量

  console.log("修改位置的项目: ");

  for (const [name, count] of Object.entries(locationProjectCounts)) {

    console.log(- ${name} (${count}次));

  }

  // 计算总数和与150的差距

  const totalCount = countDescriptionEdit + countPhotoSubmission + countLocationEdit; // 更新总数计算

  const difference = 150 - totalCount;

  console.log(总项目数量: ${totalCount});

  console.log(与150的差距: ${difference});

}

// 处理项目的函数

function processItems() {

  const items = document.querySelectorAll('app-submissions-list-item');

  items.forEach(item => {

    // 获取项目的标题、日期和内容

    const title = item.querySelector('.submissions-item__poiTitle span').textContent.trim();

    const dateText = item.querySelector('.text-xs.whitespace-nowrap').textContent.trim();

    const content = item.querySelector('.submissions-item__content').textContent.trim(); // 假设这是项目内容的选择器

    // 使用标题、日期和内容组合成唯一标识

    const uniqueKey = ${title}-${dateText}-${content};

    // 检查是否已经处理过该项目

    if (!itemsSet.has(uniqueKey)) {

      itemsSet.add(uniqueKey); // 添加到 Set 中以避免重复处理

      // 检查日期是否大于 2024-10-30

      if (new Date(dateText) > new Date('2024-10-30')) {

        // 检查项目类型

        const descriptionIcon = item.querySelector('img[lay-src="/img/description_icon.svg"]');

        const photoIcon = item.querySelector('img[lay-src="/img/photo_icon.svg"]');

        const locationIcon = item.querySelector('img[lay-src="/img/location_icon.svg"]'); // 新增:检查修改位置的图标

        if (descriptionIcon) {

          countDescriptionEdit++;

          console.log(修改描述的项目: ${title}, 日期: ${dateText});

          descriptionProjectCounts[title] = (descriptionProjectCounts[title]  0) + 1; // 计数

        } else if (photoIcon) {

          countPhotoSubmission++;

          console.log(`添加图片的项目: ${title}, 日期: ${dateText}`);

          photoProjectCounts[title] = (photoProjectCounts[title]  0) + 1; // 计数

        } else if (locationIcon) { // 新增:处理修改位置的项目

          countLocationEdit++;

          console.log(修改位置的项目: ${title}, 日期: ${dateText});

          locationProjectCounts[title] = (locationProjectCounts[title] || 0) + 1; // 计数

        }

        // 更新统计信息

        updateStats();

      }

    }

  });

}

// 使用 MutationObserver 监视 DOM 变化

const observer = new MutationObserver(() => {

  processItems(); // 每当 DOM 变化时调用处理函数

});

// 观察目标节点的变化

observer.observe(document.body, {

  childList: true,

  subtree: true

});

// 提示用户手动翻页

console.log("请手动翻页以加载更多项目。");


6.最关键的一步,把鼠标移到你的申请列表,向下滚动,直到显示的申请早于2024年10月。(多滚一点也没关系,有日期判别

好的,如果一切正常,随着你往下拉动列表,控制台就会出现统计数据。

免责声明

本脚本是Gpt写的,我只是监工,统计数据仅供参考。


【已知的bug:如果你一天内给一个po做了多项同类操作,比如加了N张图,改了N次位置,改了N次描述,那只会被统计一次。】


希望大家不要卡着150的数量去完成,怎么也要160吧。如果因为脚本导致的计数错误,导致的没有牌子,本人概不承担任何责任。


特此声明

欢迎关注我们的同步渠道


Telegram - https://t.me/IngressBeijing

网站 - https://bjres.net(可进行历史文章搜索)

玩家助手 - https://t.me/IngressBeijingGPTbot

投稿请发邮件至 tougao@bjres.net


投稿后请及时联系我们,联系方式:

Telegram - @alexrowe

QQ - 350259971

Niantic Chat Group - YxR8TEU4


Ingress北京
为广大Ingress玩家提供最新的全球游戏动态和最新资料、趣闻、战报等全方位信息。
 最新文章