File: README.markdown

package info (click to toggle)
golang-github-thoj-go-ircevent 0.2%2Bgit20210723.73e4444-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 140 kB
  • sloc: makefile: 4
file content (79 lines) | stat: -rw-r--r-- 2,096 bytes parent folder | download | duplicates (2)
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
Description
-----------

Event based irc client library.


Features
--------
* Event based. Register Callbacks for the events you need to handle.
* Handles basic irc demands for you
	* Standard CTCP
	* Reconnections on errors
	* Detect stoned servers

Install
-------
	$ go get github.com/thoj/go-ircevent

Example
-------
See [examples/simple/simple.go](examples/simple/simple.go) and [irc_test.go](irc_test.go)

Events for callbacks
--------------------
* 001 Welcome
* PING
* CTCP Unknown CTCP
* CTCP_VERSION Version request (Handled internaly)
* CTCP_USERINFO
* CTCP_CLIENTINFO
* CTCP_TIME
* CTCP_PING
* CTCP_ACTION (/me)
* PRIVMSG
* MODE
* JOIN

+Many more


AddCallback Example
-------------------
	ircobj.AddCallback("PRIVMSG", func(event *irc.Event) {
		//event.Message() contains the message
		//event.Nick Contains the sender
		//event.Arguments[0] Contains the channel
	});

Please note: Callbacks are run in the main thread. If a callback needs a long
time to execute please run it in a new thread.

Example:

        ircobj.AddCallback("PRIVMSG", func(event *irc.Event) {
		go func(event *irc.Event) {
                        //event.Message() contains the message
                        //event.Nick Contains the sender
                        //event.Arguments[0] Contains the channel
		}(event)
        });


Commands
--------
	ircobj := irc.IRC("<nick>", "<user>") //Create new ircobj
	//Set options
	ircobj.UseTLS = true //default is false
	//ircobj.TLSOptions //set ssl options
	ircobj.Password = "[server password]"
	//Commands
	ircobj.Connect("irc.someserver.com:6667") //Connect to server
	ircobj.SendRaw("<string>") //sends string to server. Adds \r\n
	ircobj.SendRawf("<formatstring>", ...) //sends formatted string to server.n
	ircobj.Join("<#channel> [password]") 
	ircobj.Nick("newnick") 
	ircobj.Privmsg("<nickname | #channel>", "msg") // sends a message to either a certain nick or a channel
	ircobj.Privmsgf(<nickname | #channel>, "<formatstring>", ...)
	ircobj.Notice("<nickname | #channel>", "msg")
	ircobj.Noticef("<nickname | #channel>", "<formatstring>", ...)