Rewritten to use callbacks, bit easier to use.
This commit is contained in:
@@ -5,65 +5,34 @@
|
||||
package irc
|
||||
|
||||
import (
|
||||
"os";
|
||||
"net";
|
||||
)
|
||||
|
||||
type IRCEventCode int
|
||||
|
||||
const (
|
||||
IRC_NOTICE_AUTH IRCEventCode = 1 << iota;
|
||||
IRC_PING;
|
||||
IRC_QUIT;
|
||||
IRC_WELCOME;
|
||||
IRC_SERVER_INFO;
|
||||
IRC_SERVER_UPTIME;
|
||||
IRC_SERVER_VERSION;
|
||||
IRC_START_MOTD;
|
||||
IRC_MOTD;
|
||||
IRC_END_MOTD;
|
||||
IRC_CHANINFO;
|
||||
|
||||
IRC_STAT_USERS;
|
||||
IRC_STAT_OPERS;
|
||||
IRC_STAT_UNKN;
|
||||
IRC_STAT_CONNS;
|
||||
|
||||
IRC_CHAN_TIMESTAMP;
|
||||
IRC_CHAN_NICKLIST;
|
||||
IRC_CHAN_TOPIC;
|
||||
IRC_CHAN_MODE;
|
||||
|
||||
IRC_PRIVMSG;
|
||||
IRC_ACTION;
|
||||
IRC_JOIN;
|
||||
|
||||
IRC_MODE;
|
||||
|
||||
ERROR;
|
||||
UNKNOWN;
|
||||
"os"
|
||||
"net"
|
||||
)
|
||||
|
||||
type IRCConnection struct {
|
||||
socket net.Conn;
|
||||
pread, pwrite chan string;
|
||||
perror chan os.Error;
|
||||
EventChan chan *IRCEvent;
|
||||
Error os.Error;
|
||||
nick string;
|
||||
user string;
|
||||
registered bool;
|
||||
server string;
|
||||
socket net.Conn
|
||||
pread, pwrite chan string
|
||||
Error chan os.Error
|
||||
nick string
|
||||
user string
|
||||
registered bool
|
||||
server string
|
||||
|
||||
events map[string][]func(*IRCEvent)
|
||||
|
||||
lastMessage int64;
|
||||
ticker <-chan int64;
|
||||
ticker2 <-chan int64;
|
||||
}
|
||||
|
||||
type IRCEvent struct {
|
||||
Message string;
|
||||
RawMessage string;
|
||||
Sender string;
|
||||
SenderHost string;
|
||||
SenderUser string;
|
||||
Target string;
|
||||
Channel string;
|
||||
Code IRCEventCode;
|
||||
Error os.Error;
|
||||
Code string
|
||||
Message string
|
||||
Raw string
|
||||
Nick string //<nick>
|
||||
Host string //<nick>!<usr>@<host>
|
||||
Source string //<host>
|
||||
User string //<usr>
|
||||
|
||||
Arguments []string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user