···
79
+
// fetch time spent on project via hackatime
80
+
const timeSpent = await fetchHackatimeSummary(
82
+
userInDB.hackatimeVersion as HackatimeVersion,
83
+
JSON.parse(userInDB.hackatimeKeys),
84
+
new Date(userInDB.lastTakeUploadDate),
86
+
).then((res) => res.total_categories_sum || 0);
88
+
if (timeSpent < 360) {
89
+
await slackClient.chat.postMessage({
90
+
channel: payload.channel,
91
+
thread_ts: payload.ts,
92
+
text: "You haven't spent enough time on your project yet! Spend a few more minutes hacking then come back :)",
95
+
await slackClient.reactions.remove({
96
+
channel: payload.channel,
97
+
timestamp: payload.ts,
98
+
name: "spin-loading",
101
+
await slackClient.reactions.add({
102
+
channel: payload.channel,
103
+
timestamp: payload.ts,
104
+
name: "tw_timer_clock",
// Convert Slack formatting to markdown
const replaceUserMentions = async (text: string) => {
const regex = /<@([A-Z0-9]+)>/g;
···
mediaUrls.push(...results.filter(Boolean));
170
-
// fetch time spent on project via hackatime
171
-
const timeSpent = await fetchHackatimeSummary(
173
-
userInDB.hackatimeVersion as HackatimeVersion,
174
-
JSON.parse(userInDB.hackatimeKeys),
175
-
new Date(userInDB.lastTakeUploadDate),
177
-
).then((res) => res.total_categories_sum || 0);
await db.insert(takesTable).values({