-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathREADME
84 lines (66 loc) · 2.73 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
================================================================================
Eirc - An IRC client library for Erlang
================================================================================
Eirc is an IRC client library which is useful if an Erlang application need to
connect to an IRC server e.g. for a kind of notification system or similar. It
aims to implement the full protocol specified in RFC2812 and all relevant parts
in RFC1459.
== Contact ==
For feedback, comments and/or suggestions
Project: http://github.com/mazenharake/eirc
Blog: http://mazenharake.wordpress.com
IRC: #erlang @ freenode
MailingList: http://www.erlang.org/faq.html
== License ==
Please see the LICENSE file
== Compiling ==
Just run make.
== Example ==
To run a client with a bot attached do the following:
1) Compile
$ make
2) Open a shell E.g. (from the eirc root dir).
$ erl -pa ../eirc/ebin
3a) In the Erlang shell type (formatting for clarity):
> application:start(eirc).
ok
> {ok, Client} = eirc:start_client(mybot, [{bots, [{example_bot, eirc_example_bot, []}]}]).
Initiating bot...
{ok,<0.39.0>}
3b) Another way of using using a bot is to install it
> {ok, Client} = eirc:start_client(mybot, []).
{ok,<0.39.0>}
> eirc:install_bot(mybot, example_bot, eirc_example_bot, []).
Initiating bot...
ok
4) Connect the client and interact and what not
> eirc:connect_and_logon(Client, "irc.freenode.net", 6667, "mazenharake").
Connected to "irc.freenode.net":6667
Logging in as "mazenharake"
ok
NOTICE ("zelazny.freenode.net"): ["*** Looking up your hostname..."]
NOTICE ("zelazny.freenode.net"): ["*** Checking Ident"]
NOTICE ("zelazny.freenode.net"): ["*** Found your hostname"]
NOTICE ("zelazny.freenode.net"): ["*** No Ident response"]
Login successful
RAW: "001"; ["eircbot","Welcome to the freenode Internet Relay Chat Network eircbot"]
...
MODE: "eircbot" sets "+i" on "eircbot" (parameters: [])
> eirc:join(Client, "#asecretchannel").
ok
JOIN: "eircbot" joined "#asecretchannel"
MODE: undefined sets "+ns" on "#asecretchannel" (parameters: [[]])
RAW: "353"; ["eircbot","@","#asecretchannel","@eircbot"]
RAW: "366"; ["eircbot","#asecretchannel","End of /NAMES list."]
JOIN: "mazenharake" joined "#asecretchannel"
TEXT: From ("mazenharake") To ("#asecretchannel") - "Hello Bot!"
5) Disconnect
> eirc:quit(Client, "The end of the road...").
ok
QUIT: "mazenharake" quit ("Client Quit")
RAW: "ERROR"; ["Closing Link: c-0af670d5.012-10-67626721.cust.bredbandsbolaget.se (Client Quit)"]
Connection closed!
6) Reconnect or... shutdown the client
> eirc:stop_client(mybot).
Bot terminating shutdown...
ok