module Io : sig ... end with type 'a Io.t = 'a Io.t with type Io.inet_addr = Io.inet_addr with type Io.config = Io.configval send : connection:connection_t -> Irc_message.t -> unit Io.tSend the given message
val send_join : connection:connection_t -> channel:string -> unit Io.tSend the JOIN command.
val send_nick : connection:connection_t -> nick:string -> unit Io.tSend the NICK command.
val send_pass : connection:connection_t -> password:string -> unit Io.tSend the PASS command.
val send_pong : connection:connection_t -> message1:string -> message2:string -> unit Io.tSend the PONG command.
val send_privmsg : connection:connection_t -> target:string -> message:string -> unit Io.tSend the PRIVMSG command.
val send_notice : connection:connection_t -> target:string -> message:string -> unit Io.tSend the NOTICE command.
val send_quit : connection:connection_t -> unit Io.tSend the QUIT command.
val send_user : connection:connection_t -> username:string -> mode:int -> realname:string -> unit Io.tSend the USER command.
val connect : ?username:string -> ?mode:int -> ?realname:string -> ?password:string -> ?config:Io.config -> addr:Io.inet_addr -> port:int -> nick:string -> unit -> connection_t Io.tConnect to an IRC server at address addr. The PASS command will be sent if password is not None.
val connect_by_name : ?username:string -> ?mode:int -> ?realname:string -> ?password:string -> ?config:Io.config -> server:string -> port:int -> nick:string -> unit -> connection_t option Io.tTry to resolve the server name using DNS, otherwise behaves like connect. Returns None if no IP could be found for the given name.
Information on keeping the connection alive
val default_keepalive : keepaliveDefault value for keepalive: active mode with auto-reconnect
val listen : ?keepalive:keepalive -> connection:connection_t -> callback:(connection_t -> Irc_message.parse_result -> unit Io.t) -> unit -> unit Io.tlisten connection callback listens for incoming messages on connection. All server pings are handled internally; all other messages are passed, along with connection, to callback.
- parameter keepalive
the behavior on disconnection (if the transport supports
Irc_transport.IO.pick andIrc_transport.IO.sleep)
val reconnect_loop : ?keepalive:keepalive -> ?reconnect:bool -> after:int -> connect:(unit -> connection_t option Io.t) -> f:(connection_t -> unit Io.t) -> callback:(connection_t -> Irc_message.parse_result -> unit Io.t) -> unit -> unit Io.tA combination of connect and listen that, every time the connection is terminated, tries to start a new one after after seconds.
- parameter after
time before trying to reconnect
- parameter connect
how to reconnect (a closure over
connectorconnect_by_name)
- parameter callback
the callback for
listen
- parameter f
the function to call after connection
val set_log : (string -> unit Io.t) -> unitSet logging function