因为Google voice的政策需要大约3个月内拨打电话或发送短信,否则会回收号码。
We noticed that you haven’t used your Google Voice number in a while. Because phone numbers are a limited resource, it is our policy to reclaim unused numbers so they can be made available to new users.
If you’d like to keep your Google Voice number (xxx) xxx-xxxx, you will need to make calls or send text messages by 2023年2月25日 by logging in to your account or using the Google Voice app on Android or iOS.
Please remember that your current number will be reclaimed in 7 days unless you start using it. If the number is reclaimed, your existing messages will remain available in your account, but you will no longer be able to receive calls or text messages.
The Google Voice Team
必要准备
- 一个可用的Google voice号码[超级重要]
- 邮箱中存在
@txt.voice.google.com
邮箱的短信邮件[超级重要] - 可以定时发送邮件命中下方邮箱过滤规则
可以使用https://lolicp.com/shell/202228442.html中的脚本定时拨打电话实现过滤规则命中。
操作步骤
设置短信转发
访问并登录https://voice.google.com/u/0/settings网站,开启将短信转发到电子邮件地址
功能及语音信箱。
设置gmail邮箱过滤规则
这个规则只是用来触发脚本,并不是一定要某个邮箱地址。
只需要定期能够触发即可。
访问并登录https://mail.google.com/mail/u/0/#settings/filters网站,新建过滤器规则。
本文章由于使用的是ifttt
拨打电话,故发件人填写为voice-noreply@google.com
,如是收短信触发,则修改为voice-noreply@google.com
。
新建或者选择已有标签,本文章标签为Autoreply
获取发件人地址
访问收件人名称非Google Voice
的邮件,获取@txt.voice.google.com
邮箱地址
也可以使用其他美国手机号发送短信获取@txt.voice.google.com
邮箱地址
这个是必须获取的,否则无法使用。
访问gmail邮箱搜索曾经收到过的短信。
示范获取到的短信发件人(993) 999-9994 <19933999999.19933999994.z-MxfmSSG7@txt.voice.google.com>
配置谷歌应用脚本
访问并登录https://script.google.com/home,新建或选择已有项目并访问,添加脚本。
编辑脚本
sender为发件人邮箱,即脚本执行后给谁发短信。
脚本触发关键字为:闲云博客
或connect the phone
编辑脚本内容,修改sender
参数,脚本触发时会向该邮件发送消息,从而实现短信发送功能。
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();
// 指定收件人
sender = '(993) 999-9994 <19933999999.19933999994.z-MxfmSSG7@txt.voice.google.com>';
var is_send = false
if (msg.indexOf("闲云博客") !== -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
// 设置关键字"connect the phone"
} else if (msg.indexOf("connect the phone") !== -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);
}
}
运行脚本
执行shell脚本拨打电话至gv号码。
脚本执行后约2分钟左右,邮箱会收到邮件。
运行脚本并查看输出
检查结果
访问google voice短信应用,查看对应号码的聊天记录。
创建触发器
点击左侧触发器图标,创建触发器
配置触发器相关功能,建议间隔分数5分钟