Initial commit
This commit is contained in:
79
vendor/github.com/thoj/go-ircevent/README.markdown
generated
vendored
Normal file
79
vendor/github.com/thoj/go-ircevent/README.markdown
generated
vendored
Normal file
@@ -0,0 +1,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>", ...)
|
||||
Reference in New Issue
Block a user