go-ircevent/README.markdown

80 lines
2.0 KiB
Markdown
Raw Normal View History

2009-11-21 23:05:12 +00:00
Description
2014-02-14 16:56:19 +00:00
-----------
2009-11-21 23:05:12 +00:00
Event based irc client library.
2009-11-29 21:11:27 +00:00
Features
2014-02-14 16:56:19 +00:00
--------
* Event based. Register Callbacks for the events you need to handle.
2010-01-10 21:26:39 +00:00
* Handles basic irc demands for you
2010-01-10 21:27:34 +00:00
* Standard CTCP
* Reconnections on errors
* Detect stoned servers
2009-11-29 21:11:27 +00:00
2009-11-21 23:05:12 +00:00
Install
2014-02-14 16:56:19 +00:00
-------
2012-11-05 22:41:04 +00:00
$ go get github.com/thoj/go-ircevent
2009-11-21 23:05:12 +00:00
Example
2014-02-14 16:56:19 +00:00
-------
2016-11-05 18:17:13 +00:00
See [examples/simple/simple.go](examples/simple/simple.go) and [irc_test.go](irc_test.go)
Events for callbacks
2014-02-14 16:56:19 +00:00
--------------------
2010-01-06 18:36:27 +00:00
* 001 Welcome
* PING
* CTCP Unknown CTCP
* CTCP_VERSION Version request (Handled internaly)
* CTCP_USERINFO
* CTCP_CLIENTINFO
* CTCP_TIME
* CTCP_PING
2014-02-02 05:38:45 +00:00
* CTCP_ACTION (/me)
2010-01-06 18:36:27 +00:00
* PRIVMSG
* MODE
* JOIN
+Many more
AddCallback Example
2014-02-14 16:56:19 +00:00
-------------------
ircobj.AddCallback("PRIVMSG", func(event *irc.Event) {
2015-03-21 19:13:32 +00:00
//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
--------
2012-11-07 20:57:10 +00:00
ircobj := irc.IRC("<nick>", "<user>") //Create new ircobj
//Set options
ircobj.UseTLS = true //default is false
//ircobj.TLSOptions //set ssl options
2010-09-29 07:55:31 +00:00
ircobj.Password = "[server password]"
2012-11-07 20:57:10 +00:00
//Commands
2010-09-29 07:55:31 +00:00
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
2012-11-11 09:41:33 +00:00
ircobj.Join("<#channel> [password]")
2013-03-13 11:53:47 +00:00
ircobj.Nick("newnick")
ircobj.Privmsg("<nickname | #channel>", "msg") // sends a message to either a certain nick or a channel
2012-11-11 09:41:33 +00:00
ircobj.Privmsgf(<nickname | #channel>, "<formatstring>", ...)
2010-09-29 07:55:31 +00:00
ircobj.Notice("<nickname | #channel>", "msg")
2012-11-11 09:41:33 +00:00
ircobj.Noticef("<nickname | #channel>", "<formatstring>", ...)