- [Bot#<<] Strip all CR / LF characters passed to Bot#<<
- This will help prevent vulns such as: https://matrix.org/blog/2022/05/04/0-34-0-security-release-for-matrix-appservice-irc-high-severity
- [Event] Add CTCP parsing methods
- [Sender] Nick is the server name when sender is a server
- Add SedBot example
- [RegexHooks] Passes matches as args
- e.g. (evt, match_one, match_two, ..)
- [RegexHooks] Add some tests
-
Move modules from IIRC::Bot to IIRC namespace
-
Document AcceptInvites
-
Document Ambient
-
Document AutoJoin
-
Document Channels
-
Document Members
-
Document PrintIO
-
Document Reading
- [Batteries] Include ISupport
- Add README example
-
[Batteries] is now a module. Please change
class Foo < IIRC::Batteries
toclass Foo < IIRC::IRCv3Bot; include Batteries; end
-
[Event] Add #nick method (equivalent to sender.nick)
-
Improved README
- Fix example in README
- [ISupport] Add module to process RPL_ISUPPORT
- [ISupport] Add Inquiry helpers + docs
-
[Numerics] Add module with constants imported from ircdocs.horse
- Run
rake numerics
to re-import.
- Run
-
[IIRC.run,IIRC.dial] Support passing a symbol as ssl_context
- e.g. ssl_context: :no_verify instead of ssl_context: IIRC::SSL.no_verify
-
The AmbientEvents modules have been reorganised
- AmbientVerbs is now Ambient::Verbs
- AmbientEvents => Ambient::Events
- AmbientEvents::{LabeledRequests,ReplyTarget} => Ambient::{LabeledRequests,ReplyTarget}
-
#ambient_reply_target() has been replaced with #reply_target(evt=ambient_event)
-
[Bot.run] Set nick to class name if no param is given
MyBot.run('irc.libera.chat')
is enough to connect to Libera as 'MyBot'
- [Bot] Include ReplyTarget
- [Hooks] Refactor
- Add AcceptInvites module
- Improve Greeter example
- [IIRC.run,IIRC.dial] now accept local_host, local_port keyword arguments
- Add reply target concept (Bot::ReplyTarget)
- The reply target of an event is the sender's nick when we are its target, and equal to the regular target otherwise.
- The ambient verb methods now target the reply target of the ambient event by default.
- Should make writing actions more convenient.
- Add MIT license
- Include Bot::RegexHooks in Batteries
- Add ircparser dependency
- It's technically optional, but it's needed to parse IRCv3 messages
- Add dial method. Uses SSL by default, with configurable context
- Add Bot.run method. Dials, yields an instance, then calls #run
- Add IIRC() method to top-level for DSL shorthand
- See examples/facts.rb
- Add examples/ (Facts, Greeter, Wolfram)
- [Bot::Hooks] Run catch-all hooks before on_#{verb} ones
- Include Bot::AmbientVerbs in Batteries
- Lets you write
say "Hello"
in event handlers instead ofsay evt.target, "Hello"
- Defaults the first arg of say,act,join,part,cycle,mode to the target of the current event
- Lets you write
- Add Bot::PrintIO module
- Use new configure style for Bot::OperUp
- Use new configure style for Bot::TrackOwnNick
- Update own nick from welcome message (001)
-
Use escape sequences in formatting.rb for readability
-
Fix Event reference in parse()
- Bot::Event was moved to Event during refactor
- Missed as my code uses
include IIRC
at the top level
- Add User.from_source(str) alias
- Extracted Bot::AmbientEvents
- Extracted IRCv3::LabeledRequests
- Library extracted from bot (developed since Dec 2021)
- Yay first release \o/