Helpers for CTCP DCC query payloads.
This module only parses and serializes DCC negotiation messages. Direct TCP connections, file writes, and user-consent policy belong in the host application.
Summary
Functions
Encodes a DCC payload for a command type.
Encodes a DCC ACCEPT payload.
Encodes a DCC CHAT payload.
Encodes a DCC RESUME payload.
Encodes a DCC SEND payload.
Parses a CTCP DCC payload.
Types
@type t() :: %Ircxd.DCC{ argument: String.t(), extra: [String.t()], host: String.t(), port: non_neg_integer(), position: non_neg_integer() | nil, raw_host: String.t(), reverse?: boolean(), type: String.t() }
A decoded DCC negotiation payload.
Functions
@spec encode(String.t(), String.t(), String.t() | tuple(), non_neg_integer(), [ String.t() | integer() ]) :: String.t()
Encodes a DCC payload for a command type.
@spec encode_accept(String.t(), String.t(), non_neg_integer(), non_neg_integer()) :: String.t()
Encodes a DCC ACCEPT payload.
@spec encode_chat(String.t(), non_neg_integer(), String.t()) :: String.t()
Encodes a DCC CHAT payload.
@spec encode_resume(String.t(), String.t(), non_neg_integer(), non_neg_integer()) :: String.t()
Encodes a DCC RESUME payload.
@spec encode_send(String.t(), String.t(), non_neg_integer(), [String.t() | integer()]) :: String.t()
Encodes a DCC SEND payload.
@spec parse(Ircxd.CTCP.t() | String.t()) :: {:ok, t()} | {:error, atom()}
Parses a CTCP DCC payload.