From ca3666c9e1dfb2b75dc022f01988146e5af24f31 Mon Sep 17 00:00:00 2001 From: Aleteoryx Date: Sun, 4 Aug 2024 01:22:16 +0100 Subject: [PATCH] irc.tcl documentation complete --- irc.tcl.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/irc.tcl.md b/irc.tcl.md index 3a40535..c9bcfdf 100644 --- a/irc.tcl.md +++ b/irc.tcl.md @@ -362,6 +362,60 @@ or empty, the key is serialized alone, with no equals sign. Errors if `key` includes forbidden characters. +## `irc::src `*`subcommand ?arg ...?`* + +IRC source parsing and generation utility. + +### `irc::src parse `*`src ?partsVar?`* + +Parses `src` and returns either `server` or `user`, indicating the +type of `src`. If `partsVar` is specified, it will be set to a dict +containing, for `user` values of `src`, the `nick`, `username`, and +`host` segments as entries, and for `server` values, the `servername` +segment as an entry. + +Errors if `src` is not a valid IRC source string. + +### `irc::src server `*`servername`* + +Returns an IRC server source with `servername` as its component. + +Errors if `servername` is not a valid servername. + +### `irc::src user `*`?-user user? ?-host host? nick` + +Returns an IRC user source with `nick` as the nickname component. If +`-user` is specified, the `user` field will be inserted. If `-host` is +specified, the `host` field will be inserted. + +Errors if any argument is invalid for its role. + + +## `irc::msg `*`subcommand ?arg ...?`* + +IRC message formatting and parsing utility. + +### `irc::msg fmt `*`?-tags tags? ?-src src? cmd ?arg ...?`* + +Returns an IRC message string with `cmd` as the command. All arguments +present are appended, and the final argument is always serialized as +trailing. If `-tags` is specified, the `tags` field will be inserted. +If `-src` is specified, the `src` field will be inserted. + +Errors if any argument is invalid for its role. + +### `irc::msg send `*`chan ?-tags tags? ?-src src? cmd ?arg ...?`* + +Calls **`irc::msg fmt`** internally, and sends the message over `chan`. + +### `irc::msg parse `*`message tagsVar srcVar cmdVar paramsVar`* + +Parses the message in `message`. `tagsVar` will be set to the tags, if +present. `srcVar` will be set to the source, if present. `cmdVar` will +be set to the command. `paramsVar` will be set to a list of parameters +in the message, if any. + + ## `irc::is `*`type value`* A general validation utility for IRC strings. Returns true if `value` -- 2.43.4