signup for a hackatime account and get password resets; all on on the hackclub slack!
Run the /hackatime command in the slack and it will prompt you to click a button to create an account if you don't have one, or to reset your password if you do.
There is a sweet message queue that is used to handle all hackatime slack messages. This is handled and persisted across restarts with bun:sqlite. To access the queue you need an admin token which you can ask me for on slack (@krn).
The queue is interacted with via a POST request to /slack/message with a channel, text, and (optionally) blocks json encoded in the body.
curl -X POST "https://hackatime-bot.kierank.hackclub.app/slack/message" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer NOTLEEKINGTHATLOL" \
-d '{
"channel": "U062UG485EE",
"text": "Hello from hackatime!"
}'or via fetch with blocks
await fetch("https://hackatime-bot.kierank.hackclub.app/slack/message", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.MESSAGE_QUEUE_TOKEN}`,
},
body: JSON.stringify({
channel: "U062UG485EE",
text: "Hello from hackatime!",
blocks: [
{
type: "section",
text: {
type: "mrkdwn",
text: "Hello from hackatime!",
},
},
{
type: "divider",
},
{
type: "context",
elements: [
{
type: "mrkdwn",
text: "This is a message from the hackatime slack bot!",
},
],
},
],
}),
});Create a slack app as per the manifest.yaml and an env as below
SLACK_BOT_TOKEN=xoxb-xxx-xxxx-xxxxxx
SLACK_SIGNING_SECRET=xxxxxx
NODE_ENV=development
ADMINS=U062UG485EE
HACKATIME_API_KEY=xxxxxxbun install
bun run index.tsthen start an ngrok
ngrok http --domain casual-renewing-reptile.ngrok-free.app 3000A bunch of screenshots of all the models
Run the /hackatime command in slack and it will start the signup process

First you'll see the initial signup prompt

No pressure - you can always cancel if you change your mind

Choose a secure password that meets the requirements

Make sure to enter a valid password!

Confirm your password to make sure it's entered correctly

Success! Your account is now created
After you've created an account, you can reset your password if needed by again running the /hackatime command in slack
© 2025-present Kieran Klukas


