Merge
This commit is contained in:
commit
e9248114a7
4
Makefile
4
Makefile
@ -1,4 +1,8 @@
|
||||
<<<<<<< HEAD:Makefile
|
||||
include $(GOROOT)/src/Make.inc
|
||||
=======
|
||||
include $(GOROOT)/src/Make.${GOARCH}
|
||||
>>>>>>> 6f3c572eae2c00aaaf57248b767adf74b571ed01:Makefile
|
||||
|
||||
TARG=irc
|
||||
GOFILES=irc.go irc_struct.go irc_callback.go
|
||||
|
@ -50,8 +50,11 @@ AddCallback Example
|
||||
|
||||
Commands
|
||||
--------
|
||||
irc.IRC("<nick>", "<user>") //Create new ircobj
|
||||
ircobj.Password = "[server password]"
|
||||
ircobj.Connect("irc.someserver.com:6667") //Connect to server
|
||||
ircobj.Sendraw("<string>") //sends string to server. Adds \r\n
|
||||
ircobj.Join("#channel [password]")
|
||||
ircobj.Privmsg("#channel", "msg")
|
||||
ircobj.Privmsg("nickname", "msg")
|
||||
ircobj.Notice("nickname or #channel", "msg")
|
||||
ircobj.Notice("<nickname | #channel>", "msg")
|
||||
|
@ -1,7 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"irc"
|
||||
irc "github.com/thoj/Go-IRC-Client-Library"
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
10
irc.go
10
irc.go
@ -48,7 +48,7 @@ func reader(irc *IRCConnection) {
|
||||
if len(args) > 1 {
|
||||
event.Message = args[1]
|
||||
}
|
||||
args = strings.Split(args[0], " ", 0)
|
||||
args = strings.Split(args[0], " ", -1)
|
||||
event.Code = strings.ToUpper(args[0])
|
||||
if len(args) > 1 {
|
||||
event.Arguments = args[1:len(args)]
|
||||
@ -61,6 +61,9 @@ func reader(irc *IRCConnection) {
|
||||
func writer(irc *IRCConnection) {
|
||||
for !error {
|
||||
b := []byte(<-irc.pwrite)
|
||||
if b == nil || irc.socket == nil {
|
||||
return
|
||||
}
|
||||
_, err := irc.socket.Write(b)
|
||||
if err != nil {
|
||||
fmt.Printf("%s\n", err)
|
||||
@ -153,10 +156,13 @@ func (i *IRCConnection) Connect(server string) os.Error {
|
||||
go pinger(i)
|
||||
i.pwrite <- fmt.Sprintf("NICK %s\r\n", i.nick)
|
||||
i.pwrite <- fmt.Sprintf("USER %s 0.0.0.0 0.0.0.0 :%s\r\n", i.user, i.user)
|
||||
if len(i.Password) > 0 {
|
||||
i.pwrite <- fmt.Sprintf("PASS %s\r\n", i.Password)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func IRC(nick string, user string) *IRCConnection {
|
||||
func IRC(nick, user string) *IRCConnection {
|
||||
irc := new(IRCConnection)
|
||||
irc.registered = false
|
||||
irc.pread = make(chan string, 100)
|
||||
|
@ -91,7 +91,11 @@ func (irc *IRCConnection) setupCallbacks() {
|
||||
})
|
||||
|
||||
irc.AddCallback("433", func(e *IRCEvent) {
|
||||
irc.nick = irc.nick + "_"
|
||||
if len(irc.nick) > 8 {
|
||||
irc.nick = "_" + irc.nick;
|
||||
} else {
|
||||
irc.nick = irc.nick + "_"
|
||||
}
|
||||
irc.SendRaw(fmt.Sprintf("NICK %s", irc.nick))
|
||||
})
|
||||
|
||||
|
@ -10,14 +10,15 @@ import (
|
||||
)
|
||||
|
||||
type IRCConnection struct {
|
||||
socket net.Conn
|
||||
pread, pwrite chan string
|
||||
Error chan os.Error
|
||||
socket net.Conn
|
||||
pread, pwrite chan string
|
||||
Error chan os.Error
|
||||
syncreader, syncwriter chan bool
|
||||
nick string
|
||||
user string
|
||||
registered bool
|
||||
server string
|
||||
nick string
|
||||
user string
|
||||
registered bool
|
||||
server string
|
||||
Password string
|
||||
|
||||
events map[string][]func(*IRCEvent)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user