user
5c0b23464c
feat: add !uptime command
...
Track bot start time via monotonic clock, display as compact
duration (e.g. "up 3d 2h 15m 42s").
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:46:06 +01:00
user
830add0797
refactor: mount plugins and config instead of baking into image
...
Image now contains only the derp package. Config and plugins are
bind-mounted at runtime, enabling live edits without rebuilds.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:20:30 +01:00
user
7b9cde6192
feat: add container support with Containerfile and make targets
...
- Containerfile: python:3.13-slim base, pip install, copy plugins
- .containerignore: exclude dev artifacts from build context
- Makefile: add build, container-run, container-stop, container-logs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:16:05 +01:00
user
77f9a364e6
feat: add hot-reload, shorthand commands, and plugin help
...
- Plugin registry: add unload_plugin(), reload_plugin(), path tracking
- Bot: add load_plugin(), reload_plugin(), unload_plugin() public API
- Core plugin: add !load, !reload, !unload, !plugins commands
- Command dispatch: support unambiguous prefix matching (!h -> !help)
- Help: support !help <plugin> to show plugin description and commands
- Tests: 17 new tests covering hot-reload, prefix matching
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:15:59 +01:00
user
ad18a902dd
feat: add crt.sh certificate transparency lookup plugin
...
Query CT logs via crt.sh to enumerate SSL certs for domains,
report expired/valid counts, and flag live expired certs.
Uses ThreadPoolExecutor(3) for blocking I/O on RPi5.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 00:56:55 +01:00
user
118fbb75d1
feat: add tls_verify option for self-signed certs
...
Skip certificate verification when tls_verify = false in config.
Defaults to true for safety.
2026-02-15 00:43:44 +01:00
user
5c30786e9b
fix: self-ignore .gitignore
2026-02-15 00:41:37 +01:00
user
970d5d8b0b
fix: gitignore live config, add example template
...
Untrack config/derp.toml to avoid leaking credentials.
Ship config/derp.toml.example as the reference template.
2026-02-15 00:41:19 +01:00
user
bf45abcbad
feat: initial implementation
...
Asyncio IRC bot with decorator-based plugin system.
Zero external dependencies, Python 3.11+.
- IRC protocol: message parsing, formatting, async TCP/TLS connection
- Plugin system: @command and @event decorators, file-based loading
- Bot orchestrator: connect, dispatch, reconnect, nick recovery
- CLI: argparse entry point with TOML config
- Built-in plugins: ping, help, version, echo
- 28 unit tests for parser and plugin system
2026-02-15 00:37:31 +01:00