Implement CAP LS 302 flow with configurable ircv3_caps list, replacing the minimal SASL-only registration. Parse IRCv3 message tags (@key=value) with proper value unescaping. Add channel management plugin (kick, ban, unban, topic, mode) and bot API methods. Add SQLite key-value StateStore for plugin state persistence with !state inspection command. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
679 B
Plaintext
26 lines
679 B
Plaintext
[server]
|
|
host = "irc.libera.chat"
|
|
port = 6697
|
|
tls = true
|
|
nick = "derp"
|
|
user = "derp"
|
|
realname = "derp IRC bot"
|
|
password = ""
|
|
# sasl_user = "account" # SASL PLAIN username (optional)
|
|
# sasl_pass = "secret" # SASL PLAIN password (optional)
|
|
# ircv3_caps = ["multi-prefix", "away-notify", "server-time"] # IRCv3 capabilities
|
|
|
|
[bot]
|
|
prefix = "!"
|
|
channels = ["#test"]
|
|
plugins_dir = "plugins"
|
|
# rate_limit = 2.0 # Messages per second (default: 2.0)
|
|
# rate_burst = 5 # Burst capacity (default: 5)
|
|
# admins = [ # Hostmask patterns (fnmatch), IRCOPs auto-detected
|
|
# "*!~user@trusted.host",
|
|
# "ops!*@*.ops.net",
|
|
# ]
|
|
|
|
[logging]
|
|
level = "info"
|