tangled
alpha
login
or
join now
dunkirk.sh
/
smokie
1
fork
atom
a fun bot for the hc slack
1
fork
atom
overview
issues
pulls
pipelines
feat: add min time limit of 6 min
dunkirk.sh
10 months ago
0f816c06
7abc1085
verified
This commit was signed with the committer's
known signature
.
dunkirk.sh
SSH Key Fingerprint:
SHA256:DqcG0RXYExE26KiWo3VxJnsxswN1QNfTBvB+bdSpk80=
+31
-9
1 changed file
expand all
collapse all
unified
split
src
features
takes
handlers
upload.ts
+31
-9
src/features/takes/handlers/upload.ts
···
76
name: "spin-loading",
77
});
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
// Convert Slack formatting to markdown
80
const replaceUserMentions = async (text: string) => {
81
const regex = /<@([A-Z0-9]+)>/g;
···
166
mediaUrls.push(...results.filter(Boolean));
167
}
168
}
169
-
170
-
// fetch time spent on project via hackatime
171
-
const timeSpent = await fetchHackatimeSummary(
172
-
user,
173
-
userInDB.hackatimeVersion as HackatimeVersion,
174
-
JSON.parse(userInDB.hackatimeKeys),
175
-
new Date(userInDB.lastTakeUploadDate),
176
-
new Date(),
177
-
).then((res) => res.total_categories_sum || 0);
178
179
await db.insert(takesTable).values({
180
id: Bun.randomUUIDv7(),
···
76
name: "spin-loading",
77
});
78
79
+
// fetch time spent on project via hackatime
80
+
const timeSpent = await fetchHackatimeSummary(
81
+
user,
82
+
userInDB.hackatimeVersion as HackatimeVersion,
83
+
JSON.parse(userInDB.hackatimeKeys),
84
+
new Date(userInDB.lastTakeUploadDate),
85
+
new Date(),
86
+
).then((res) => res.total_categories_sum || 0);
87
+
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 :)",
93
+
});
94
+
95
+
await slackClient.reactions.remove({
96
+
channel: payload.channel,
97
+
timestamp: payload.ts,
98
+
name: "spin-loading",
99
+
});
100
+
101
+
await slackClient.reactions.add({
102
+
channel: payload.channel,
103
+
timestamp: payload.ts,
104
+
name: "tw_timer_clock",
105
+
});
106
+
107
+
return;
108
+
}
109
+
110
// Convert Slack formatting to markdown
111
const replaceUserMentions = async (text: string) => {
112
const regex = /<@([A-Z0-9]+)>/g;
···
197
mediaUrls.push(...results.filter(Boolean));
198
}
199
}
0
0
0
0
0
0
0
0
0
200
201
await db.insert(takesTable).values({
202
id: Bun.randomUUIDv7(),