Google Voice 自动回复之我不花钱,我就想白嫖谷歌

Google Voice 自动回复之我不花钱,我就想白嫖谷歌

April 204 2023-03-03

历史背景

众所周知,GV号码长时间不用,无短信,无电话,会被谷歌回收。为了防止这种情况,我经常上网找人发短信,像个骚扰美女的变态,哈哈哈。虽然我没遇到被回收的情况,但是身边不缺乏这种情况,我的两个朋友在我的诱惑下买了GV号(是郎给的诱惑 我买起了GV号~),然后长时间不用,就GG了

我要收短信,也要发短信,但是不想当变态!

每每和别人在上网请求gv互发保号的时候,总觉得自己是个变态~偶然有一次,遇到了一个发送关键词,自动回复的gv,我擦,简直颅内高潮!!!我要是有个,我不得让所有和我一样苦苦寻求保护的穷哥们都给我发短信嘛!就像一夜醒来变女的,不得让哥们爽爽~

开搞开搞

短信转发的邮箱

  1. 登陆Google Voice, 打开设置
    image-1677828187657
  2. 打开将短信转发到邮件地址
    image-1677828289783
设置邮箱标签
  1. 打开转发的Gmail,开始进行设置
    image-1677828484966
  2. 在设置里找到“过滤器和屏蔽的地址”
    image-1677828548709
  3. 创建新的过滤器
  4. 发件人处填写 “@txt.voice.google.com”, 然后点击“创建过滤器”
    image-1677828904905
  5. 勾选“跳过收件箱(将其归档)”和“应用标签”
    image-1677829588821
  6. “应用标签”后选择“新建标签”
    image-1677829050190
  7. 填写“autoreply”, 没事不要改,如果改了,后续代码也需要改
    image-1677828716977
  8. 最后点击“创建过滤器”
    此步骤over, 主要目的是将GV转发过来的信息,标记为“autoreply”, 代码里只会从标记为“autoreplay”的标签中读取未读的邮件。
开始代代代代代码啦,很简单的~

首先,代码运行在哪里呢?总不能还要花钱吧,不会吧~不会吧~
当然~不会!我们要白嫖谷歌。利用谷歌的Drive中的App Script,来执行脚步。

  1. 登陆Google Drive
    image-1677827356635
  2. 新建App Script
    image-1677829688411
    image-1677829762262
  3. 粘贴代码
function autoReplier() {
  console.log("开始执行")
  var labelObj = GmailApp.getUserLabelByName('autoreply');
  var gmailThreads;
  var messages;
  var messagecount;
  var sender;
  var num = 6;  //设置连续自动回复邮件的次数(为防止两人都是自动回复,当发送次数达到 6 时将不自动回复)。
  var hours = 12;  //过了多少小时后又可以自动回复。

  var week = new Date().getDay();  
  console.log(MailApp.getRemainingDailyQuota())
  if (labelObj.getUnreadCount() === 0 ) {
    console.log("未发现新邮件")
    return
  } else {
    console.log("嘿嘿嘿,发现一封未读的小可爱!")
  }
  try {
    for (var gg = 0; gg < labelObj.getUnreadCount(); gg++) {
      gmailThreads = labelObj.getThreads()[gg];
      messages = gmailThreads.getMessages();
      messagecount = gmailThreads.getMessageCount();
      //console.log(messages[messagecount - 9].getDate() + "  time");
      for (var ii = 0; ii < messages.length; ii++) {
      
        if (messages[ii].isUnread()) {
        
          msg = messages[ii].getPlainBody();
          sender = messages[ii].getFrom();
          var is_send = false
          if (msg.indexOf("111") !== -1) {
            try {
              var response = UrlFetchApp.fetch("https://cloud.qqshabi.cn/api/comments/api.php?format=text");

              if(response.getResponseCode() === 200) {
                var content = response.getContentText();
                content = "网易云热评: 【" + content + "】"
                console.log("网易云OK了")
              } else{
                console.log("网易云GG了1", response.getContentText())
                var content = '快快乐乐每一天哟~'
              }
            } catch (err) {
                console.log("网易云GG了2", err)
                var content = '快快乐乐每一天哟~'
            }
            if (week === 4) {
              var temp = "自动回复!星期四V50哟~ " + content
            } else {
              var temp = "自动回复!" + content 
            }
            is_send = true
          } else if (msg.indexOf("520") !== -1)  {
            is_send = true
            try {
              var response = UrlFetchApp.fetch("https://cloud.qqshabi.cn/api/tiangou/api.php");

              if(response.getResponseCode() === 200) {
                var content = response.getContentText();
                console.log("舔狗OK了")
                content = "自动回复: 【" + content + "】"
              } else{
                console.log("舔狗GG了1")
                var content = '自动回复: 不要做舔狗啊!!!'
              }
            } catch (err) {
                console.log("舔狗GG了2")
                var content = '自动回复: 不要做舔狗啊!!!'
            }
            var temp = content
          } 

          if (is_send) {
            console.log("发邮件啦!")
            if (messagecount < num){
              console.log(temp)
              MailApp.sendEmail(sender, "自动回信", temp);
            }else if( (messages[messagecount - 1].getDate().getTime() - messages[messagecount - num].getDate().getTime()) > hours * 60 * 60 * 1000 ){
              MailApp.sendEmail(sender, "Auto Reply", "您好!已经发了好几条信息了,可以停下来休息休息一下了!本短信自动发出。");
            }
            console.log("发完啦!")
            console.log("标记为已读")
            messages[ii].markRead();
            messages[ii].moveToTrash();
          } else {
            console.log("这个吊人:",sender,', 不认识,内容也不是关键词! So:不回复。')
            messages[ii].markRead();
            messages[ii].moveToTrash();
            console.log("标记为已读")
          }
        }
      }
    }
  } catch (err) {
      console.error('for loop error: ' + err);
  }
}
  1. 代码说明
  • 我设置了两个关键字, 一个是“111”, 一个是“520”
  • 两个关键字, 分别做了不同的自动回复的内容。
  • 除此之外的内容,就只输出日志,不再回复,并把邮件置为已读。
  • 如果短时间内发送邮件过多,设置了连续自动回复的个数
  1. 命名项目以及保存, 名字随意。
    image-1677830279521
  2. 赋予权限
    image-1677830345581
    image-1677830420299

image-1677830447442
赋予权限就OK了

  1. 运行调试, 没问题就下一步喽
    image-1677830502494
  2. 设置触发器
    image-1677830595230
    image-1677830775542
    设置分钟定时器,每一分钟执行一遍。
    image-1677830814320
  3. 结束了
    自己测试一下吧
写这个教程的意义

网上有一堆改教程,其实我是想分享我自己的垃圾代码的,但是只贴代码,又觉得很奇怪。所以按照记忆以及看了看网上的教程,写下了该博客。只能说意义不大,纯粹当个记录吧,实在是与我写博客的初心相违背。之前我面人的时候,有个小伙子,分享了他的博客,我看了一看,但是各种技术的笔记,我当时说一个优质的博客应该记录一些你自己创造、总结、深度思考后东西,而不是基础知识的笔记。哎~

技术鸣谢

由于时间久远,这个教程我也不知道从那来的了。大概率是随便找了一个博客教程搞的。
特此鸣谢该方法的创建者以及技术分享者

追加-23/3/10

昨天有个帖子, 说IFTTT GV保活收费了,于是我回复发送111到我的GV号上面来自动回复,结果google script直接裂开了:一天收到了大概300多个短信,回复邮件数量到达了上限,部分回复还是今天上午邮件发送数量恢复了才继续回复的。不得不说,还是有点开心的。毕竟能服务这么多的老哥们。
代码改了一下,改成了网易云热门评论以及舔狗日记。
over~