Keep ChatGPT Running

Keeps ChatGPT responsive by automatically regenerate every x minutes

נכון ליום 18-03-2023. ראה הגרסה האחרונה.

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 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         Keep ChatGPT Running
// @namespace    https://github.com/new4u
// @version      1.0.117
// @description  Keeps ChatGPT responsive by automatically  regenerate every x minutes
// @author       new4u本爷有空
// @icon         https://www.google.com/s2/favicons?sz=64&domain=openai.com
// @match        https://chat.openai.com/chat
// @connect      chat.openai.com
// @match        https://chat.openai.com/*
// @grant        none
// @copyright    2015-2023, new4u
// @license      GPL-3.0-only
// ==/UserScript==

(function() {
  'use strict';
  var count=0


  setInterval(() => {
      // const buttons = document.querySelectorAll('button[class*="btn relative btn-neutral border-0 md:border"]');
      const buttons = document.querySelectorAll('button');

      let found = false;

      buttons.forEach(button => {
          if (button.textContent === 'Regenerate response') {
              button.click();

              count++;
// 将count、小时、上下两次count的时间差,存到变量countHour中
              var d = new Date();
              var n = d.getHours();
              //utc时间
              var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
              //分别存在counttime[]中,以小时为index,值是count

              var counttime = new Array();
              counttime[n] = count;
              //每一个n+1,count归零
              counttime[n+1] = 0;
              // console.log(counttime[n]);
              // console.log(counttime[n+1]);

              // console.log(counttime[count]);
              // console.log(counttime[count-1]);
              // console.log(counttime[count]-counttime[count-1]);
              // console.log(counttime[count]-counttime[count-1]/3600000);
              console.log('Clicked button with text: Regenerate response次数+时长',counttime[n],n);
              found = true;
          }
      });

      if (!found) {
          console.log('Button with text: Regenerate response not found');
      }

  }, 150000);
})();