package irky
The Irky IRC client library
Install
dune-project
Dependency
Authors
Maintainers
Sources
irky-0.1.tbz
sha256=54540ee1cd7584dd5f07cd7e2141835978dc9ef4d080c20acb40dd6cd027fde4
sha512=b49bb10e274bcc7d69e65954ebb8f927a09d9eb9a8ce1c4b1510c574d11f7209cf4837c68c8c3d84bf4d86bcb10a72e7b3c5c7234f3bda995bbc57921af92171
doc/README.html
Irky
A fork of irc-client focused on direct style IOs (unix and Eio).
License
MIT
Usage
Simple bot which connects to a channel, sends a message, and then logs all messages in that channel to stdout:
module C = Irky.Client
let host = ref "irc.libera.chat"
let port = ref 6667
let nick = ref "irkytest"
let channel = ref "##demo_irc"
let on_msg _client msg =
Printf.printf "Got message: %s\n%!" (Irky.Message.to_string msg)
let() =
let io = Irky_unix.io in
C.reconnect_loop ~reconnect_delay:15. ~io
~connect:(fun () ->
C.connect_by_name ~server:!host ~port:!port ~nick:!nick ~io ())
~on_connect:(fun client ->
Printf.printf "Connected, sending join for %S\n%!" !channel;
C.send_join client ~channel:!channel;
C.send_privmsg client ~target:!channel ~message:"hello from irky!")
on_msgCompile the above with:
ocamlfind ocamlopt -package irky -package irky.unix -linkpkg code.mlAlternatively, you can find an extended version of this example in examples/example.ml; run it using dune exec -- examples/example.exe.