tzq/sendLarkMessage

References

Referenced 2 times
Runs every 15 min
Fork
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
import { fetch } from "https://esm.town/v/std/fetch";
import process from "node:process";
export async function checkTensorArtWebStatus() {
async function sendLarkMessage(message) {
return fetch(process.env.larkTensorRobotUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
msg_type: "text",
content: {
text: message,
},
}),
}).then((resp) => resp.json());
}
const urls = [
"https://tusiart.com",
"https://tusiart.com/models/595381491993673733",
"https://tusiart.com/images/641647408012381047?post_id=641648696498376106",
"https://tensor.art",
"https://tensor.art/models/595381491993673733",
"https://tensor.art/images/651688517816058150?post_id=651693375419913839",
];
try {
const responses = await Promise.all(
urls.map((url) => {
return fetch(url);
}),
);
responses.forEach((response, idx) => {
if (response.status === 200) {
throw `{${urls[idx]}} status: ${response.status}`;
}
});
} catch (e) {
console.log(e.message);
await sendLarkMessage(`[TA checker] ${e.message}`);
return false;
}
await sendLarkMessage("[TA checker]: All urls ok");
return true;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { sendLarkMessage } from "https://esm.town/v/tzq/sendLarkMessage";
import { lastPushedAtForRepositories } from "https://esm.town/v/tzq/lastPushedAtForRepositories";
import { getInformationOfTheGitHubReposiroty } from "https://esm.town/v/tzq/getInformationOfTheGitHubReposiroty";
export async function monitoringGitHubRepository(repository) {
return await getInformationOfTheGitHubReposiroty(repository)
.then((resp) => {
if (!lastPushedAtForRepositories[repository]) {
lastPushedAtForRepositories[repository] = "";
}
if (lastPushedAtForRepositories[repository] != resp.pushed_at) {
lastPushedAtForRepositories[repository] = resp.pushed_at;
return sendLarkMessage(`${repository} has been updated!`);
}
return "No updates";
});
}
1
Next