Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snarf

a modern irc bot built with python, asyncio, and uv. it features automatic youtube rehosting, currency conversion, and intelligent base64 tools.

core features

  • 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: reload without disconnecting.
  • system notifications: integrated with notify-send for desktop alerts on connection status.

deployment on arch linux

option 1: quick start (portable)

this method installs the bot into your home directory and sets up a user-level systemd service.

  1. install dependencies:

    sudo pacman -S git uv yt-dlp ffmpeg libnotify
  2. clone and install:

    git clone <your-repo-url> ~/snarf
    cd ~/snarf
    make install

option 3: pypi (via uvx)

if the package is published to pypi, you can run it without cloning:

uvx snarf

to customize the connection:

SNARF_CHANNEL="#yourchannel" SNARF_NICK="yourbot" uvx snarf

configuration

you 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 to 1 to disable forking (required for systemd)

management

  • view logs: journalctl --user -u snarf -f
  • restart bot: systemctl --user restart snarf
  • stop bot: systemctl --user stop snarf
  • hot reload: send snarf: reload in the irc channel to apply changes to commands.py.

project standards

refer to GEMINI.md for architectural details and engineering standards.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages