a modern irc bot built with python, asyncio, and uv. it features automatic youtube rehosting, currency conversion, and intelligent base64 tools.
- youtube rehosting: automatically detects youtube links, downloads them (max 50mb), and uploads them to
jonesfilesandfootmassage.com. - currency conversion: converts any currency symbol ($, €, £, ¥, etc.) to local country currencies on the fly using real-time rates.
- crypto lab: intelligent base64 en/decoding with auto-detection and manual overrides (
-e,-d). - hot reloading: refresh command logic instantly with
snarf: reloadwithout disconnecting. - system notifications: integrated with
notify-sendfor desktop alerts on connection status.
this method installs the bot into your home directory and sets up a user-level systemd service.
-
install dependencies:
sudo pacman -S git uv yt-dlp ffmpeg libnotify
-
clone and install:
git clone <your-repo-url> ~/snarf cd ~/snarf make install
if the package is published to pypi, you can run it without cloning:
uvx snarfto customize the connection:
SNARF_CHANNEL="#yourchannel" SNARF_NICK="yourbot" uvx snarfyou can configure the bot via environment variables:
SNARF_SERVER: irc server (default:internetrelaychat.net)SNARF_PORT: tls port (default:6697)SNARF_NICK: bot nickname (default:snarf)SNARF_CHANNEL: irc channel (default:#sniff)SNARF_FOREGROUND: set to1to disable forking (required for systemd)
- view logs:
journalctl --user -u snarf -f - restart bot:
systemctl --user restart snarf - stop bot:
systemctl --user stop snarf - hot reload: send
snarf: reloadin the irc channel to apply changes tocommands.py.
refer to GEMINI.md for architectural details and engineering standards.