Skip to content

ascpixi/kerfus

Repository files navigation

[^owo^] Kerfuś

Kerfuś is a simple Slack bot for the Hack Club Slack, mainly created as a personal bot for @ascpixi. It's currently hosted on Nest.

systemd configuration

In order to replicate the environment this bot is hosted on, create a ~/.config/systemd/user/kerfus.service file like this:

[Unit]
Description=ascs personal Slack bot

[Service]
WorkingDirectory=%h/services
ExecStart=%h/services/start-kerfus.sh
Restart=on-failure

[Install]
WantedBy=default.target

...then, create a services directory in your home directory. Run git clone https://github.com/ascpixi/kerfus in that folder, and then create a start-kerfus.sh script like this:

#!/bin/bash
cd kerfus
git fetch
git pull
npm install
npm start

Then, run these commands:

chmod +x start-kerfus.sh
systemctl --user daemon-reload
systemctl --user enable --now kerfus.service

Kerfuś now should be up and running! Query its status with systemctl --user status kerfus.service:

ascpixi@nest:~/services$ systemctl --user status kerfus.service
● kerfus.service - asc's personal Slack bot
     Loaded: loaded (/home/ascpixi/.config/systemd/user/kerfus.service; enabled; preset: enabled)
     Active: active (running) since Fri 2025-08-29 19:44:51 UTC; 39s ago
 Invocation: bcfeb9d796fb4ab2817636162769926e
   Main PID: 841284 (start-kerfus.sh)
      Tasks: 24 (limit: 288874)
     Memory: 85.8M (peak: 549.9M)
        CPU: 11.697s
     CGroup: /user.slice/user-3299.slice/user@3299.service/app.slice/kerfus.service
             ├─841284 /bin/bash /home/ascpixi/services/start-kerfus.sh
             ├─842440 "npm start"
             ├─842567 sh -c "npm run build && node ./dist/app.js"
             └─853876 node ./dist/app.js

Aug 29 19:44:54 nest start-kerfus.sh[841723]: Run `npm audit` for details.
Aug 29 19:44:54 nest start-kerfus.sh[842440]: > kerfus@1.0.0 start
Aug 29 19:44:54 nest start-kerfus.sh[842440]: > npm run build && node ./dist/app.js
Aug 29 19:44:54 nest start-kerfus.sh[842568]: > kerfus@1.0.0 build
Aug 29 19:44:54 nest start-kerfus.sh[842568]: > node fix-atproto-lexicon.js && tsc
Aug 29 19:45:16 nest start-kerfus.sh[853876]: [dotenv@17.2.1] injecting env (3) from .env -- tip: 🛠️  run anywhere with `dotenv>
Aug 29 19:45:16 nest start-kerfus.sh[853876]: [^owo^] info:  bsky-crosspost module registered
Aug 29 19:45:16 nest start-kerfus.sh[853876]: [^owo^] info:  app-home module registered
Aug 29 19:45:16 nest start-kerfus.sh[853876]: [^owo^] info:  All modules registered!
Aug 29 19:45:17 nest start-kerfus.sh[853876]: [^owo^] info:  Kerfuś is up and running

art by @TAGSC

About

🤖 ascpixi's personal bot for Hack Club's Slack

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published