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