~aleteoryx/tclircc-docs

ca3666c9e1dfb2b75dc022f01988146e5af24f31 — Aleteoryx 4 months ago 8e31135
irc.tcl documentation complete
1 files changed, 54 insertions(+), 0 deletions(-)

M irc.tcl.md
M irc.tcl.md => irc.tcl.md +54 -0
@@ 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`