diff --git a/content/message.txt b/content/message.txt index 7f81ee2..0584a8a 100644 --- a/content/message.txt +++ b/content/message.txt @@ -10,7 +10,7 @@ type Person = { let usr: Person = { name: "Kieran", nomeDeGuerra: "Kieran", - age: 15.834, + age: {age}, roles: [ "student", "developer", @@ -28,7 +28,7 @@ let usr: Person = { ], isAlive: true, }; - console.log(usr); console.log("{greeting} This is my plain text site!"); +console.log("{slack_status}"); diff --git a/utils/files.ts b/utils/files.ts index ea24832..51e065a 100644 --- a/utils/files.ts +++ b/utils/files.ts @@ -1,3 +1,5 @@ +import { getSlackStatus } from "./slack"; + // get the greeting from a file and return a random greeting async function getGreeting() { const greetingFile = await Bun.file("content/greeting.txt").text(); @@ -9,5 +11,18 @@ async function getGreeting() { export async function getMessage() { let messageFile = await Bun.file("content/message.txt").text(); messageFile = messageFile.replace("{greeting}", await getGreeting()); + // get a decimal value of the time since 2008-04-27 + messageFile = messageFile.replace( + "{age}", + ( + (Date.now() - new Date("2008-04-27").getTime()) / + 1000 / + 60 / + 60 / + 24 / + 365 + ).toFixed(10), + ); + messageFile = messageFile.replace("{slack_status}", await getSlackStatus()); return messageFile; } diff --git a/utils/slack.ts b/utils/slack.ts index 2ad83d1..59dadc8 100644 --- a/utils/slack.ts +++ b/utils/slack.ts @@ -104,3 +104,23 @@ export async function get10DaysLeaderboard(start: Date, end: Date) { return leaderboardFormatted; } + +export async function getSlackStatus() { + // get slack status from the slack API + const response = await fetch( + "https://slack.com/api/users.getPresence?user=U062UG485EE&pretty=1", + { + headers: { + Authorization: `Bearer ${process.env.SLACK_OAUTH_TOKEN}`, + }, + }, + ); + + const status = await response.json(); + + return status.presence === "active" + ? new Date().getHours() > 20 && new Date().getHours() < 8 + ? "I'm currently listed as active on slack but i probably forgot to set myself not active :)" + : "I'm currently listed as active on slack :)" + : "I'm currently listed as not active on slack :( catch you later?"; +}