mirror of https://github.com/fluffle/goirc
Update README.md some more
This commit is contained in:
parent
9a9c640b91
commit
f212894aed
53
README.md
53
README.md
|
@ -1,53 +1,24 @@
|
||||||
GoIRC Client Framework
|
rbot
|
||||||
======================
|
======================
|
||||||
|
|
||||||
### Acquiring and Building
|
### Getting started
|
||||||
|
|
||||||
|
Assuming you have go set up (http://golang.org/), first clone http://github.com/kless/goconfig/ and in that directory, run
|
||||||
|
|
||||||
|
make -C config install
|
||||||
|
|
||||||
|
Then build the goirc framework in the rbot directory with
|
||||||
|
|
||||||
git clone git://github.com/raylu/rbot.git
|
|
||||||
make -C irc install
|
make -C irc install
|
||||||
|
|
||||||
You can build the bot with:
|
Finally, build the bot with:
|
||||||
|
|
||||||
make
|
make
|
||||||
./gobot
|
|
||||||
|
|
||||||
This will connect to rizon and join `#vn-meta` by default, so be careful ;-)
|
rbot.conf will be copied. Configure that and then run the bot:
|
||||||
|
|
||||||
### Using the framework
|
./rbot
|
||||||
|
|
||||||
Synopsis:
|
|
||||||
|
|
||||||
import "irc"
|
|
||||||
func main() {
|
|
||||||
c := irc.New("nick", "ident", "real name")
|
|
||||||
// add handlers to do things here!
|
|
||||||
if err := c.Connect("irc.freenode.net", ""); err != nil {
|
|
||||||
fmt.Printf("Connection error: %s\n", err.String())
|
|
||||||
}
|
|
||||||
for {
|
|
||||||
if closed(c.Err) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if err := <-c.Err; err != nil {
|
|
||||||
fmt.Printf("goirc error: %s", err.String())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
The test client provides a good (if basic) example of how to use the framework.
|
|
||||||
Reading `irc/handlers.go` gives a more in-depth look at how handlers can be
|
|
||||||
written. Commands to be sent to the server (e.g. PRIVMSG) are methods of the
|
|
||||||
main `*irc.Conn` object, and can be found in `irc/commands.go` (not all of the
|
|
||||||
possible IRC commands are implemented yet). Events are produced directly from
|
|
||||||
the messages from the IRC server, so you have to handle e.g. "332" for
|
|
||||||
`RPL_TOPIC` to get the topic for a channel.
|
|
||||||
|
|
||||||
The vast majority of handlers implemented within the framework deal with state
|
|
||||||
tracking of all nicks in any channels that the client is also present in. It's
|
|
||||||
likely that this state tracking will become optional in the near future.
|
|
||||||
|
|
||||||
### Misc.
|
### Misc.
|
||||||
|
|
||||||
This project was forked from jessta/goirc which is in turn forked from
|
This project was forked from jessta/goirc which is in turn forked from fluffle/goirc. Both of those projects are focused on developing the goirc framework whereas this is focused on developing a bot.
|
||||||
fluffle/goirc. Both of those projects are focused on developing the goirc
|
|
||||||
framework whereas this is focused on developing a bot.
|
|
||||||
|
|
Loading…
Reference in New Issue