-
Notifications
You must be signed in to change notification settings - Fork 0
/
GoogleAppsScript.js
46 lines (42 loc) · 1.35 KB
/
GoogleAppsScript.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var discordWebHookUrl = "YOUR DISCORD WEBHOOK URL"
var timezone = "YOUR TIMEZONE" // e.g. Asia/Tokyo
// Please set the Gmail label for the DM notification email from Twitter
var searchQuery = "label:twitterDMnotify is:unread"
function fetchMails() {
var threads = GmailApp.search(searchQuery, 0, 10);
var messages = GmailApp.getMessagesForThreads(threads);
for(var i in messages){
for(var j in messages[i]){
var msgDate = Utilities.formatDate(messages[i][j].getDate(), timezone, "yyyy-MM-dd HH:mm");
var msgSubject = messages[i][j].getSubject();
var msgBody = messages[i][j].getBody();
var msgMessage = msgBody.match(/1px;font-size:1px;color:#ffffff;"> [\s\S]*?<d>/g)[0].replace('1px;font-size:1px;color:#ffffff;">','').replace('<d>','');
postDiscord(msgDate, msgSubject, msgMessage);
messages[i][j].markRead();
}
}
}
function postDiscord(date, subject, message) {
var payload = {
"username": "Twitter DM",
"embeds": [
{
"title": subject,
"color": 4169e1,
"description": date,
"fields": [
{
"name": "Message",
"value": message,
"inline": false
}
]
}
]
}
UrlFetchApp.fetch(discordWebHookUrl, {
method: "post",
contentType: "application/json",
payload: JSON.stringify(payload),
});
}