changed JOIN adt
[cloogle-irc.git] / IRC.dcl
1 definition module IRC
2
3 from Data.Maybe import :: Maybe
4 from StdOverloaded import class fromInt, class toInt, class toString
5
6 :: IRCCommands
7 = ADMIN (Maybe String)
8 | AWAY String
9 | CONNECT String Int (Maybe String)
10 | DIE
11 | ERROR String
12 | INFO (Maybe String)
13 | INVITE String String
14 | ISON [String]
15 | JOIN [(String, Maybe String)]
16 | KICK String String (Maybe String)
17 | KILL String String
18 | LINKS (Maybe (Maybe String, String))
19 | LIST [String]
20 | LUSERS (Maybe (String, Maybe String))
21 | MODE String
22 | MOTD (Maybe String)
23 | NAMES [String]
24 | NICK String
25 | NJOIN
26 | NOTICE String String
27 | OPER String String
28 | PART [String]
29 | PASS String
30 | PING [String]
31 | PONG [String]
32 | PRIVMSG String String
33 | QUIT (Maybe String)
34 | REHASH
35 | RESTART
36 | SERVER
37 | SERVICE String String String String
38 | SERVLIST (Maybe (String, Maybe String))
39 | SQUERY String String
40 | SQUIRT
41 | SQUIT String String
42 | STATS (Maybe (String, Maybe String))
43 | SUMMON String (Maybe (String, Maybe String))
44 | TIME (Maybe String)
45 | TOPIC String (Maybe String)
46 | TRACE (Maybe String)
47 | USER String Int String
48 | USERHOST [String]
49 | USERS (Maybe String)
50 | VERSION (Maybe String)
51 | WALLOPS String
52 | WHO (Maybe String)
53 | WHOIS (Maybe String) [String]
54 | WHOWAS (Maybe String) [String]
55
56 :: IRCReplies = RPL_WELCOME | RPL_YOURHOST | RPL_CREATED | RPL_MYINFO |
57 RPL_BOUNCE | RPL_TRACELINK | RPL_TRACECONNECTING | RPL_TRACEHANDSHAKE |
58 RPL_TRACEUNKNOWN | RPL_TRACEOPERATOR | RPL_TRACEUSER | RPL_TRACESERVER |
59 RPL_TRACESERVICE | RPL_TRACENEWTYPE | RPL_TRACECLASS | RPL_TRACERECONNECT |
60 RPL_STATSLINKINFO | RPL_STATSCOMMANDS | RPL_ENDOFSTATS | RPL_UMODEIS |
61 RPL_SERVLIST | RPL_SERVLISTEND | RPL_STATSUPTIME | RPL_STATSOLINE |
62 RPL_LUSERCLIENT | RPL_LUSEROP | RPL_LUSERUNKNOWN | RPL_LUSERCHANNELS |
63 RPL_LUSERME | RPL_ADMINME | RPL_ADMINLOC1 | RPL_ADMINLOC2 | RPL_ADMINEMAIL |
64 RPL_TRACELOG | RPL_TRACEEND | RPL_TRYAGAIN | RPL_AWAY | RPL_USERHOST |
65 RPL_ISON | RPL_UNAWAY | RPL_NOWAWAY | RPL_WHOISUSER | RPL_WHOISSERVER |
66 RPL_WHOISOPERATOR | RPL_WHOWASUSER | RPL_ENDOFWHO | RPL_WHOISIDLE |
67 RPL_ENDOFWHOIS | RPL_WHOISCHANNELS | RPL_LISTSTART | RPL_LIST |
68 RPL_LISTEND | RPL_CHANNELMODEIS | RPL_UNIQOPIS | RPL_NOTOPIC | RPL_TOPIC |
69 RPL_INVITING | RPL_SUMMONING | RPL_INVITELIST | RPL_ENDOFINVITELIST |
70 RPL_EXCEPTLIST | RPL_ENDOFEXCEPTLIST | RPL_VERSION | RPL_WHOREPLY |
71 RPL_NAMREPLY | RPL_LINKS | RPL_ENDOFLINKS | RPL_ENDOFNAMES | RPL_BANLIST |
72 RPL_ENDOFBANLIST | RPL_ENDOFWHOWAS | RPL_INFO | RPL_MOTD | RPL_ENDOFINFO |
73 RPL_MOTDSTART | RPL_ENDOFMOTD | RPL_YOUREOPER | RPL_REHASHING |
74 RPL_YOURESERVICE | RPL_TIME | RPL_USERSSTART | RPL_USERS | RPL_ENDOFUSERS |
75 RPL_NOUSERS
76
77 :: IRCErrors = ERR_NOSUCHNICK | ERR_NOSUCHSERVER | ERR_NOSUCHCHANNEL |
78 ERR_CANNOTSENDTOCHAN | ERR_TOOMANYCHANNELS | ERR_WASNOSUCHNICK |
79 ERR_TOOMANYTARGETS | ERR_NOSUCHSERVICE | ERR_NOORIGIN | ERR_NORECIPIENT |
80 ERR_NOTEXTTOSEND | ERR_NOTOPLEVEL | ERR_WILDTOPLEVEL | ERR_BADMASK |
81 ERR_UNKNOWNCOMMAND | ERR_NOMOTD | ERR_NOADMININFO | ERR_FILEERROR |
82 ERR_NONICKNAMEGIVEN | ERR_ERRONEUSNICKNAME | ERR_NICKNAMEINUSE |
83 ERR_NICKCOLLISION | ERR_UNAVAILRESOURCE | ERR_USERNOTINCHANNEL |
84 ERR_NOTONCHANNEL | ERR_USERONCHANNEL | ERR_NOLOGIN | ERR_SUMMONDISABLED |
85 ERR_USERSDISABLED | ERR_NOTREGISTERED | ERR_NEEDMOREPARAMS |
86 ERR_ALREADYREGISTRED | ERR_NOPERMFORHOST | ERR_PASSWDMISMATCH |
87 ERR_YOUREBANNEDCREEP | ERR_YOUWILLBEBANNED | ERR_KEYSET | ERR_CHANNELISFULL |
88 ERR_UNKNOWNMODE | ERR_INVITEONLYCHAN | ERR_BANNEDFROMCHAN |
89 ERR_BADCHANNELKEY | ERR_BADCHANMASK | ERR_NOCHANMODES | ERR_BANLISTFULL |
90 ERR_NOPRIVILEGES | ERR_CHANOPRIVSNEEDED | ERR_CANTKILLSERVER |
91 ERR_RESTRICTED | ERR_UNIQOPPRIVSNEEDED | ERR_NOOPERHOST |
92 ERR_UMODEUNKNOWNFLAG | ERR_USERSDONTMATCH
93
94 instance toString IRCCommands, IRCReplies, IRCErrors
95 instance fromInt IRCReplies, IRCErrors
96 instance toInt IRCReplies, IRCErrors