providing password reset services for a long while: circa 2025
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

TypeScript 88.6%
Other 11.4%
16 1 0

Clone this repository

https://tangled.org/dunkirk.sh/hackatime-bot https://tangled.org/did:plc:krxbvxvis5skq7jj6eot23ul/hackatime-bot
git@knot.dunkirk.sh:dunkirk.sh/hackatime-bot git@knot.dunkirk.sh:did:plc:krxbvxvis5skq7jj6eot23ul/hackatime-bot

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

Logo
Hackatime Slack Bot

signup for a hackatime account and get password resets; all on on the hackclub slack!

How do I use it?#

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.

creating an account creating an account - success

Devving#

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
bun install
bun run index.ts

then start an ngrok

ngrok http --domain casual-renewing-reptile.ngrok-free.app 3000

Screenshots#

A bunch of screenshots of all the models

Initial Signup#

Run the /hackatime command in slack and it will start the signup process

creating an account
First you'll see the initial signup prompt

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

creating an account - password
Choose a secure password that meets the requirements

creating an account - bad password
Make sure to enter a valid password!

creating an account - confirm
Confirm your password to make sure it's entered correctly

creating an account - success
Success! Your account is now created

Existing Account#

After you've created an account, you can reset your password if needed by again running the /hackatime command in slack

has account
The bot will recognize your existing account

resetting a password
You can easily reset your password if needed

© 2025-present Kieran Klukas