Commit Graph

17 Commits

Author SHA1 Message Date
d32dd5e8a0 Fix nil compiled time and lint 2021-10-09 08:50:48 -07:00
01ce96b07a Ever cook bacon on your CPU cooler? 2021-10-01 06:15:34 -07:00
nmeum
28ef073485
Fix conversion errors (#46) 2021-06-11 15:56:21 -04:00
Liam Stanley
51b8e096d3
move away from Event.Trailing
* initial work towards moving away from Event.Trailing

* Event.Trailing() -> Event.Last()

* fix incorrect go.mod/go.sum files

* fixes for pretty printed topics and CTCPs

* remove unneeded whitespace check

* clarify potential contents of Event.Params

* better splitting of hopcount from realname
2019-02-10 16:20:25 -05:00
nmeum
ec512cad4f Preliminary support for the MONITOR command (#22)
This commit adds support for the IRCv3.2 MONITOR command [1]. This
includes a new function for sending MONITOR commands to the IRC server
and constants for creating handlers for the server responses.

Discussion: Currently no fancy abstraction is offered for the MONITOR
command. Meaning the caller can:

1. Send MONITOR commands to the server with invalid modifier, where
   `modifier ∉ {+, -, C, L, S}`.
2. Add a target to the list of targets being monitored which is already
   in that list. Which the client MUST NOT do according to the
   specification.

Both 1. and 2. could be addressed by implementing separate functions for
the different MONITOR command modifiers (e.g. `MonitorAdd()`,
`MonitorDel()`, …). If 2. is not considered an issue and should be
resolved by the caller 1. could alternatively by defining a new type for
the modifier.

An entirely different solution would be adding methods for monitoring to
the `User struct`. For example: `User.Monitor(), User.Unmonitor(), …`.

[1]: https://ircv3.net/specs/core/monitor-3.2.html
2018-12-10 08:49:51 -08:00
Liam Stanley
bbccf004ba add: expose CTCP encode/decode; add: Event.IsCTCP()
closes #20
2018-09-30 19:28:09 -04:00
Liam Stanley
f1d316076b add Ban, Unban and Mode to Commands 2017-11-30 14:37:24 -05:00
Liam Stanley
45a1513347 additional variadic command methods 2017-11-10 07:42:39 -05:00
Liam Stanley
7ea1eaacde remove enforcement of rfc-valid users/nicks/channels 2017-11-10 07:29:27 -05:00
Liam Stanley
7459c009e8 enforce empty trailing arguements even if input is empty 2017-11-10 07:13:37 -05:00
Liam Stanley
20a9ec00f5 fix Commands.Part requiring an unused message param 2017-11-09 20:42:17 -05:00
puffrfish
2eddd2a659 Fix Part and PartMessage to send PART instead of JOIN (#8) 2017-11-09 19:39:18 -05:00
Liam Stanley
31b878c955 png/pong shouldn't be ratelimited 2017-06-15 05:33:31 -04:00
Liam Stanley
76815b783e add missing documentation 2017-06-07 06:59:31 -04:00
Liam Stanley
371ce2de16 implement Reply, Replyf, ReplyTo and ReplyTof 2017-06-07 05:03:36 -04:00
Liam Stanley
82bafff852 properly handle errors during write operations 2017-02-13 09:28:59 -05:00
Liam Stanley
27efadda57 implement commands 2017-02-13 07:52:29 -05:00