Commit graph

10 commits

Author SHA1 Message Date
958c00ce6f
refactor(bot): rename bot.hear to bot.store
Clearer what it actually does (i.e. record a message in the backlog)
and also unlocks that name for a dispatch function where we hear any
message and decide what to do with it. Currently that dispatch logic
lives inside BotAdapter in main.zig and that is not ideal.
2026-03-15 13:50:17 +01:00
4d1f22194c
refactor(bot): introduce response type
The response type holds represents the way a bot can respond to a
message it executes and allows us to move the IRC dependency out of
bot and into only the main module.
2026-03-15 13:47:57 +01:00
4e11cc9ea1
fix: make admin command parsing more robust
There was a bug in how we parsed admin commands, apparently we never
tested if we could parse `!backlog X` or unknown admin commands.

This commit also make updates to the backlog command construction to
make sure that we don't try to access messages in the backlog that
don't exist.
2026-03-11 00:57:04 +01:00
e1e1938359
refactor: extract modules from bot.zig
This commit creates a bunch of new modules that contain code and tests
for various concepts/implementations that used to exist inside
bot.zig.

Notable amongst these are:
- buffer.zig, which contain the circular buffer containing both
  backlog and outbox messages.
- parser.zig, which contain the parser used to parse commands from IRC
  messages.
2026-03-11 00:01:05 +01:00
508e084ddf
refactor(main.zig): move out error reporting 2026-01-04 23:53:32 +01:00
1e4c90822a
chore: make stuff work 2025-11-30 22:52:22 +01:00
936bf470c7
wip 2 2025-11-29 01:05:09 +01:00
59293d1690
wip 2025-11-28 23:04:53 +01:00
6449a7de2d
chore: implement initial bot with substitute command
This commit introduces a Bot struct which is the main type of this
project. The Bot holds a backlog of messages to be able to update a
typo in a message and so on.

So far there is no IRC/TLS implementation, it is only the base logic.
2025-11-02 14:03:12 +01:00
00d2cf3c69
feat: initial commit 2025-10-27 22:16:55 +01:00