Skip to content

Instantly share code, notes, and snippets.

@agrif
Last active August 29, 2015 14:23
Show Gist options
  • Save agrif/2918aebd9cd610f8b99e to your computer and use it in GitHub Desktop.
Save agrif/2918aebd9cd610f8b99e to your computer and use it in GitHub Desktop.
an almost exhaustive list of irc commands
-- commands are read off of
-- https://tools.ietf.org/html/rfc2812
cmds =
[ -- 3.1 Connection Registration
Verb "pass" "PASS" [StrSpec "password"]
, Verb "nick" "NICK" [StrSpec "nickname"]
, Verb "user" "USER" [StrSpec "user", NumSpec "mode", LitSpec "*", StrSpec "realname"]
, Verb "oper" "OPER" [StrSpec "name", StrSpec "password"]
, Verb "mode" "MODE" [StrSpec "name", StrSpec "mode"] -- FIXME multiples
, Verb "service" "SERVICE" [StrSpec "nickname", LitSpec "*", StrSpec "distribution", NumSpec "typ", LitSpec "0", StrSpec "info"]
, Verb "quit" "QUIT" [Optional (StrSpec "message")]
, Verb "s quit" "SQUIT" [StrSpec "server", StrSpec "comment"]
-- 3.2 Channel operations
, Verb "channel join" "JOIN" [ListSpec ',' "channels", Optional (ListSpec ',' "keys")]
, Verb "channel part" "PART" [ListSpec ',' "channels", Optional (StrSpec "message")]
-- MODE again
, Verb "get topic" "TOPIC" [StrSpec "channel"]
, Verb "set topic" "TOPIC" [StrSpec "channel", StrSpec "topic"]
, Verb "names" "NAMES" [Optional (ListSpec ',' "channels"), Optional (StrSpec "target")]
, Verb "list" "LIST" [Optional (ListSpec ',' "channels"), Optional (StrSpec "target")]
, Verb "invite" "INVITE" [StrSpec "nickname", StrSpec "channel"]
, Verb "kick" "KICK" [ListSpec ',' "channels", ListSpec ',' "users", Optional (StrSpec "comment")]
-- 3.3 Sending messages
, Verb "privmsg" "PRIVMSG" [StrSpec "target", StrSpec "message"]
, Verb "notice" "NOTICE" [StrSpec "target", StrSpec "message"]
-- 3.4 Motd message
, Verb "motd" "MOTD" [Optional (StrSpec "target")]
, Verb "lusers" "LUSERS" [Optional (StrSpec "mask"), Optional (StrSpec "target")]
, Verb "version" "VERSION" [Optional (StrSpec "target")]
, Verb "stats" "STATS" [Optional (StrSpec "query"), Optional (StrSpec "target")]
, Verb "links" "LINKS" [ROptional (StrSpec "server"), ROptional (StrSpec "mask")]
, Verb "time" "TIME" [Optional (StrSpec "target")]
, Verb "server connect" "CONNECT" [StrSpec "target", NumSpec "port", Optional (StrSpec "remote")]
, Verb "trace" "TRACE" [Optional (StrSpec "target")]
, Verb "admin" "ADMIN" [Optional (StrSpec "target")]
, Verb "info" "INFO" [Optional (StrSpec "target")]
-- 3.5 Service Query and Commands
, Verb "serv list" "SERVLIST" [Optional (StrSpec "mask"), Optional (StrSpec "typ")]
, Verb "s query" "SQUERY" [StrSpec "servicename", StrSpec "text"]
-- 3.6 User based queries
, Verb "who" "WHO" [Optional (StrSpec "mask"), FlagSpec "o"]
, Verb "who is" "WHOIS" [Optional (StrSpec "target"), ListSpec ',' "masks"]
, Verb "who was" "WHOWAS" [ListSpec ',' "nicknames", Optional (NumSpec "count"), Optional (StrSpec "target")]
-- 3.7 Miscellaneous messages
, Verb "kill" "KILL" [StrSpec "nickname", StrSpec "comment"]
, Verb "ping" "PING" [StrSpec "server1", Optional (StrSpec "server2")]
, Verb "pong" "PONG" [StrSpec "server", Optional (StrSpec "server2")]
, Verb "error" "ERROR" [StrSpec "message"]
-- 4 Optional features
, Verb "set away" "AWAY" [StrSpec "text"]
, Verb "clear away" "AWAY" []
, Verb "rehash" "REHASH" []
, Verb "die" "DIE" []
, Verb "restart" "RESTART" []
, Verb "summon" "SUMMON" [StrSpec "user", Optional (StrSpec "target"), Optional (StrSpec "channel")]
, Verb "users" "USERS" [Optional (StrSpec "target")]
, Verb "wall ops" "WALLOPS" [StrSpec "message"]
, Verb "user host" "USERHOST" [StrSpec "nickname"] -- FIXME many nicknames
, Verb "is on" "ISON" [StrSpec "nickname"] -- FIXME many nicknames
-- 5.1 Command responses
, Num "welcome" 1 [StrSpec "message"]
, Num "your host" 2 [StrSpec "message"]
, Num "created" 3 [StrSpec "message"]
, Num "my info" 4 [StrSpec "message"]
, Num "bounce" 5 [StrSpec "message"]
-- 6-99
-- 100-199
, Num "trace link reply" 200 [WildSpec "Link", StrSpec "version", StrSpec "destination", StrSpec "next", StrSpec "protocolVersion", StrSpec "linkUptime", StrSpec "backSendQ", StrSpec "upSendQ"]
, Num "trace connecting" 201 [WildSpec "Try.", StrSpec "klass", StrSpec "server"]
, Num "trace handshake" 202 [WildSpec "H.S.", StrSpec "klass", StrSpec "server"]
, Num "trace unknown" 203 [WildSpec "????", StrSpec "klass", Optional (StrSpec "ip")]
, Num "trace operator" 204 [WildSpec "Oper", StrSpec "klass", StrSpec "nickname"]
, Num "trace user" 205 [WildSpec "User", StrSpec "klass", StrSpec "nickname"]
, Num "trace server" 206 [WildSpec "Serv", StrSpec "klass", StrSpec "s", StrSpec "c", StrSpec "server", StrSpec "hostmask", StrSpec "protocolVersion"]
, Num "trace service" 207 [WildSpec "Service", StrSpec "klass", StrSpec "name", StrSpec "typ", StrSpec "activeType"]
, Num "trace newtype" 208 [StrSpec "newtyp", LitSpec "0", StrSpec "name"]
, Num "trace class" 209 [WildSpec "klass", StrSpec "klass", NumSpec "count"]
-- 210
, Num "stats link info" 211 [StrSpec "name", StrSpec "sendq", NumSpec "sentMessages", NumSpec "sentKBytes", NumSpec "recvMessages", NumSpec "recvKBytes", NumSpec "uptime"]
, Num "stats commands" 212 [StrSpec "command", NumSpec "count", NumSpec "bytes", NumSpec "remoteCount"]
-- 213-218
, Num "stats end" 219 [StrSpec "letter", WildSpec "End of STATS report"]
-- 220
, Num "user mode is" 221 [StrSpec "mode"]
-- 222-229
-- 230-233
, Num "serv list reply" 234 [StrSpec "name", StrSpec "server", StrSpec "mask", StrSpec "typ", NumSpec "hopcount", StrSpec "info"]
, Num "serv list end" 235 [StrSpec "mask", StrSpec "typ", WildSpec "End of service listing"]
-- 236-239
-- 240-242
, Num "stats oline" 243 [LitSpec "O", StrSpec "hostmask", LitSpec "*", StrSpec "name"]
-- 244-249
-- 250
, Num "luser client" 251 [StrSpec "message"]
, Num "luser op" 252 [NumSpec "count", WildSpec "operator(s) online"]
, Num "luser unknown" 253 [NumSpec "count", WildSpec "unknown connection(s)"]
, Num "luser channels" 254 [NumSpec "count", WildSpec "channels formed"]
, Num "luser me" 255 [StrSpec "message"]
, Num "admin me" 256 [StrSpec "server", WildSpec "Administrative info"]
, Num "admin loc1" 257 [StrSpec "message"]
, Num "admin loc2" 258 [StrSpec "message"]
, Num "admin email" 259 [StrSpec "email"]
-- 260
, Num "trace log" 261 [WildSpec "File", StrSpec "logfile", StrSpec "debugLevel"]
, Num "trace end" 262 [StrSpec "server", StrSpec "version", WildSpec "End of TRACE"]
, Num "try again" 263 [StrSpec "command", WildSpec "Please wait a while and try again."]
-- 264-269
-- 270-299
-- 300
, Num "away reply" 301 [StrSpec "nickname", StrSpec "message"]
, Num "user host reply" 302 [StrSpec "message"] -- FIXME parse data!
, Num "is on reply" 303 [StrSpec "message"] -- FIXME parse data!
-- 304
, Num "unaway reply" 305 [WildSpec "You are no longer marked as being away"]
, Num "now away reply" 306 [WildSpec "You have been marked as being away"]
-- 307 - 309
-- 310
, Num "who is user" 311 [StrSpec "nickname", StrSpec "user", StrSpec "host", WildSpec "*", StrSpec "realname"]
, Num "who is server" 312 [StrSpec "nickname", StrSpec "server", StrSpec "info"]
, Num "who is operator" 313 [StrSpec "nickname", WildSpec "is an IRC operator"]
, Num "who was user" 314 [StrSpec "nickname", StrSpec "user", StrSpec "host", WildSpec "*", StrSpec "realname"]
, Num "who end" 315 [StrSpec "name", WildSpec "End of WHO list"]
-- 316
, Num "who is idle" 317 [StrSpec "nickname", NumSpec "time", WildSpec "seconds idle"]
, Num "who is end" 318 [StrSpec "nickname", WildSpec "End of WHOIS list"]
, Num "who is channels" 319 [StrSpec "nickname", StrSpec "channels"]
-- 320-321
, Num "list reply" 322 [StrSpec "channel", NumSpec "visible", StrSpec "topic"]
, Num "list end" 323 [WildSpec "End of LIST"]
, Num "channel mode is" 324 [StrSpec "channel", StrSpec "mode", StrSpec "params"]
, Num "uniq op is" 325 [StrSpec "channel", StrSpec "nickname"]
-- 326-329
-- 330
, Num "no topic reply" 331 [StrSpec "channel", WildSpec "No topic is set"]
, Num "topic reply" 332 [StrSpec "channel", StrSpec "topic"]
-- 333-339
-- 340
, Num "inviting" 341 [StrSpec "channel", StrSpec "nick"]
, Num "summoning" 342 [StrSpec "user", WildSpec "Summoning user to IRC"]
-- 343-345
, Num "invite list" 346 [StrSpec "channel", StrSpec "mask"]
, Num "invite list end" 347 [StrSpec "channel", WildSpec "End of channel invite list"]
, Num "except list" 348 [StrSpec "channel", StrSpec "mask"]
, Num "except list end" 349 [StrSpec "channel", WildSpec "End of channel exception list"]
-- 350
, Num "version reply" 351 [StrSpec "version", StrSpec "server", StrSpec "comments"]
, Num "who reply" 352 [StrSpec "channel", StrSpec "user", StrSpec "host", StrSpec "server", StrSpec "nickname", StrSpec "props", StrSpec "realname"]
, Num "names reply" 353 [StrSpec "mode", StrSpec "channel", ListSpec ' ' "nicknames"]
-- 354-359
-- 360-363
, Num "links reply" 364 [StrSpec "mask", StrSpec "server", StrSpec "info"]
, Num "links end" 365 [StrSpec "mask", WildSpec "End of LINKS list"]
, Num "names end" 366 [StrSpec "channel", WildSpec "End of NAMES list"]
, Num "ban list" 367 [StrSpec "channel", StrSpec "mask"]
, Num "ban list end" 368 [StrSpec "channel", WildSpec "End of channel ban list"]
, Num "who was end" 369 [StrSpec "nickname", WildSpec "End of WHOWAS"]
-- 370
, Num "info reply" 371 [StrSpec "info"]
, Num "motd text" 372 [StrSpec "message"]
-- 373
, Num "info end" 374 [WildSpec "End of INFO list"]
, Num "motd start" 375 [StrSpec "message"]
, Num "motd end" 376 [WildSpec "End of MOTD command"]
-- 377-379
-- 380
, Num "youre oper" 381 [WildSpec "You are now an IRC operator"]
, Num "rehashing" 382 [StrSpec "file", WildSpec "Rehashing"]
, Num "youre service" 383 [StrSpec "message"]
-- 384-389
-- 390
, Num "time reply" 391 [StrSpec "server", StrSpec "time"]
, Num "users start" 392 [WildSpec "UserID Terminal Host"]
, Num "users reply" 393 [StrSpec "message"]
, Num "users end" 394 [WildSpec "End of users"]
, Num "no users" 395 [WildSpec "Nobody logged in"]
-- 396-399
-- 5.2 Error Replies
-- 400
, Num "no such nick" 401 [StrSpec "nickname", WildSpec "No such nick/channel"]
, Num "no such server" 402 [StrSpec "server", WildSpec "No such server"]
, Num "no such channel" 403 [StrSpec "channel", WildSpec "No such channel"]
, Num "cant send to chan" 404 [StrSpec "channel", WildSpec "Cannot send to channel"]
, Num "too many channels" 405 [StrSpec "channel", WildSpec "You have joined too many channels"]
, Num "was no such nick" 406 [StrSpec "nickname", WildSpec "There was no such nickname"]
, Num "too many targets" 407 [StrSpec "target", StrSpec "message"]
, Num "no such service" 408 [StrSpec "name", WildSpec "No such service"]
, Num "no origin" 409 [WildSpec "No origin specified"]
-- 410
, Num "no recipient" 411 [WildSpec "No recipient given"]
, Num "no text to send" 412 [WildSpec "No text to send"]
, Num "no top level" 413 [StrSpec "mask", WildSpec "No toplevel domain specified"]
, Num "wild top level" 414 [StrSpec "mask", WildSpec "Wildcard in toplevel domain"]
, Num "bad mask" 415 [StrSpec "mask", WildSpec "Bad Server/host mask"]
-- 416-419
-- 420
, Num "unknown command" 421 [StrSpec "command", WildSpec "Unknown command"]
, Num "no motd" 422 [WildSpec "MOTD File is missing"]
, Num "no admin info" 423 [StrSpec "server", WildSpec "No administrative info available"]
, Num "file error" 424 [StrSpec "message"]
-- 425-429
-- 430
, Num "no nickname given" 431 [WildSpec "No nickname given"]
, Num "erroneus nickname" 432 [StrSpec "nickname", WildSpec "Erroneous nickname"]
, Num "nickname in use" 433 [StrSpec "nickname", WildSpec "Nickname is already in use"]
-- 434-435
, Num "nick collision" 436 [StrSpec "nickname", StrSpec "message"]
, Num "unavail resource" 437 [StrSpec "name", WildSpec "Nick/channel is temporarily unavailable"]
-- 438-439
-- 440
, Num "user not in channel" 441 [StrSpec "nickname", StrSpec "channel", WildSpec "They aren't on that channel"]
, Num "not on channel" 442 [StrSpec "channel", WildSpec "You're not on that channel"]
, Num "user on channel" 443 [StrSpec "user", StrSpec "channel", WildSpec "is already on channel"]
, Num "no login" 444 [StrSpec "user", WildSpec "User not logged in"]
, Num "summon disabled" 445 [WildSpec "SUMMON has been disabled"]
, Num "users disabled" 446 [WildSpec "USERS has been disabled"]
-- 447-449
-- 450
, Num "not registered" 451 [WildSpec "You have not registered"]
-- 452-459
-- 460
, Num "need more params" 461 [StrSpec "command", WildSpec "Not enough parameters"]
, Num "already registered" 462 [WildSpec "Unauthorized command (already registered)"]
, Num "no perm for host" 463 [WildSpec "Your host isn't among the privileged"]
, Num "password mismatch" 464 [WildSpec "Password incorrect"]
, Num "youre banned creep" 465 [WildSpec "You are banned from this server"]
, Num "you will be banned" 466 []
, Num "key set" 467 [StrSpec "channel", WildSpec "Channel key already set"]
-- 468-469
-- 470
, Num "channel is full" 471 [StrSpec "channel", WildSpec "Cannot join channel (+l)"]
, Num "unknown mode" 472 [StrSpec "char", WildSpec "is unknown mode char to me"]
, Num "invite only chan" 473 [StrSpec "channel", WildSpec "Cannot join channel (+i)"]
, Num "banned from chan" 474 [StrSpec "channel", WildSpec "Cannot join channel (+b)"]
, Num "bad channel key" 475 [StrSpec "channel", WildSpec "Cannot join channel (+k)"]
, Num "bad chan mask" 476 [StrSpec "channel", WildSpec "Bad Channel Mask"]
, Num "no chan modes" 477 [StrSpec "channel", WildSpec "Channel doesn't support modes"]
, Num "ban list full" 478 [StrSpec "channel", StrSpec "char", WildSpec "Channel list is full"]
-- 479
-- 480
, Num "no privileges" 481 [WildSpec "Permission Denied- You're not an IRC operator"]
, Num "chan op privs needed" 482 [StrSpec "channel", WildSpec "You're not channel operator"]
, Num "cant kill server" 483 [WildSpec "You can't kill a server!"]
, Num "restricted" 484 [WildSpec "Your connection is restricted!"]
, Num "uniq op privs needed" 485 [WildSpec "You're not the original channel operator"]
-- 486-489
-- 490
, Num "no oper host" 491 [WildSpec "No O-lines for your host"]
-- 492-499
-- 500
, Num "user mode unknown flag" 501 [WildSpec "Unknown MODE flag"]
, Num "users dont match" 502 [WildSpec "Cannot change mode for other users"]
-- CTCP
, CTCP0 "nul request" P
, CTCP0 "nul response" P
]
data Command s0
= Pass (Source s0) s0
| Nick (Source s0) s0
| User (Source s0) s0 Int s0
| Oper (Source s0) s0 s0
| Mode (Source s0) s0 s0
| Service (Source s0) s0 s0 Int s0
| Quit (Source s0) (Maybe s0)
| SQuit (Source s0) s0 s0
| ChannelJoin (Source s0) [s0] (Maybe [s0])
| ChannelPart (Source s0) [s0] (Maybe s0)
| GetTopic (Source s0) s0
| SetTopic (Source s0) s0 s0
| Names (Source s0) (Maybe [s0]) (Maybe s0)
| List (Source s0) (Maybe [s0]) (Maybe s0)
| Invite (Source s0) s0 s0
| Kick (Source s0) [s0] [s0] (Maybe s0)
| Privmsg (Source s0) s0 s0
| Notice (Source s0) s0 s0
| Motd (Source s0) (Maybe s0)
| Lusers (Source s0) (Maybe s0) (Maybe s0)
| Version (Source s0) (Maybe s0)
| Stats (Source s0) (Maybe s0) (Maybe s0)
| Links (Source s0) (Maybe s0) (Maybe s0)
| Time (Source s0) (Maybe s0)
| ServerConnect (Source s0) s0 Int (Maybe s0)
| Trace (Source s0) (Maybe s0)
| Admin (Source s0) (Maybe s0)
| Info (Source s0) (Maybe s0)
| ServList (Source s0) (Maybe s0) (Maybe s0)
| SQuery (Source s0) s0 s0
| Who (Source s0) (Maybe s0) Bool
| WhoIs (Source s0) (Maybe s0) [s0]
| WhoWas (Source s0) [s0] (Maybe Int) (Maybe s0)
| Kill (Source s0) s0 s0
| Ping (Source s0) s0 (Maybe s0)
| Pong (Source s0) s0 (Maybe s0)
| Error (Source s0) s0
| SetAway (Source s0) s0
| ClearAway (Source s0)
| Rehash (Source s0)
| Die (Source s0)
| Restart (Source s0)
| Summon (Source s0) s0 (Maybe s0) (Maybe s0)
| Users (Source s0) (Maybe s0)
| WallOps (Source s0) s0
| UserHost (Source s0) s0
| IsOn (Source s0) s0
| Welcome (Source s0) s0 s0
| YourHost (Source s0) s0 s0
| Created (Source s0) s0 s0
| MyInfo (Source s0) s0 s0
| Bounce (Source s0) s0 s0
| TraceLinkReply (Source s0) s0 s0 s0 s0 s0 s0 s0 s0
| TraceConnecting (Source s0) s0 s0 s0
| TraceHandshake (Source s0) s0 s0 s0
| TraceUnknown (Source s0) s0 s0 (Maybe s0)
| TraceOperator (Source s0) s0 s0 s0
| TraceUser (Source s0) s0 s0 s0
| TraceServer (Source s0) s0 s0 s0 s0 s0 s0 s0
| TraceService (Source s0) s0 s0 s0 s0 s0
| TraceNewtype (Source s0) s0 s0 s0
| TraceClass (Source s0) s0 s0 Int
| StatsLinkInfo (Source s0) s0 s0 s0 Int Int Int Int Int
| StatsCommands (Source s0) s0 s0 Int Int Int
| StatsEnd (Source s0) s0 s0
| UserModeIs (Source s0) s0 s0
| ServListReply (Source s0) s0 s0 s0 s0 s0 Int s0
| ServListEnd (Source s0) s0 s0 s0
| StatsOline (Source s0) s0 s0 s0
| LuserClient (Source s0) s0 s0
| LuserOp (Source s0) s0 Int
| LuserUnknown (Source s0) s0 Int
| LuserChannels (Source s0) s0 Int
| LuserMe (Source s0) s0 s0
| AdminMe (Source s0) s0 s0
| AdminLoc1 (Source s0) s0 s0
| AdminLoc2 (Source s0) s0 s0
| AdminEmail (Source s0) s0 s0
| TraceLog (Source s0) s0 s0 s0
| TraceEnd (Source s0) s0 s0 s0
| TryAgain (Source s0) s0 s0
| AwayReply (Source s0) s0 s0 s0
| UserHostReply (Source s0) s0 s0
| IsOnReply (Source s0) s0 s0
| UnawayReply (Source s0) s0
| NowAwayReply (Source s0) s0
| WhoIsUser (Source s0) s0 s0 s0 s0 s0
| WhoIsServer (Source s0) s0 s0 s0 s0
| WhoIsOperator (Source s0) s0 s0
| WhoWasUser (Source s0) s0 s0 s0 s0 s0
| WhoEnd (Source s0) s0 s0
| WhoIsIdle (Source s0) s0 s0 Int
| WhoIsEnd (Source s0) s0 s0
| WhoIsChannels (Source s0) s0 s0 s0
| ListReply (Source s0) s0 s0 Int s0
| ListEnd (Source s0) s0
| ChannelModeIs (Source s0) s0 s0 s0 s0
| UniqOpIs (Source s0) s0 s0 s0
| NoTopicReply (Source s0) s0 s0
| TopicReply (Source s0) s0 s0 s0
| Inviting (Source s0) s0 s0 s0
| Summoning (Source s0) s0 s0
| InviteList (Source s0) s0 s0 s0
| InviteListEnd (Source s0) s0 s0
| ExceptList (Source s0) s0 s0 s0
| ExceptListEnd (Source s0) s0 s0
| VersionReply (Source s0) s0 s0 s0 s0
| WhoReply (Source s0) s0 s0 s0 s0 s0 s0 s0 s0
| NamesReply (Source s0) s0 s0 s0 [s0]
| LinksReply (Source s0) s0 s0 s0 s0
| LinksEnd (Source s0) s0 s0
| NamesEnd (Source s0) s0 s0
| BanList (Source s0) s0 s0 s0
| BanListEnd (Source s0) s0 s0
| WhoWasEnd (Source s0) s0 s0
| InfoReply (Source s0) s0 s0
| MotdText (Source s0) s0 s0
| InfoEnd (Source s0) s0
| MotdStart (Source s0) s0 s0
| MotdEnd (Source s0) s0
| YoureOper (Source s0) s0
| Rehashing (Source s0) s0 s0
| YoureService (Source s0) s0 s0
| TimeReply (Source s0) s0 s0 s0
| UsersStart (Source s0) s0
| UsersReply (Source s0) s0 s0
| UsersEnd (Source s0) s0
| NoUsers (Source s0) s0
| NoSuchNick (Source s0) s0 s0
| NoSuchServer (Source s0) s0 s0
| NoSuchChannel (Source s0) s0 s0
| CantSendToChan (Source s0) s0 s0
| TooManyChannels (Source s0) s0 s0
| WasNoSuchNick (Source s0) s0 s0
| TooManyTargets (Source s0) s0 s0 s0
| NoSuchService (Source s0) s0 s0
| NoOrigin (Source s0) s0
| NoRecipient (Source s0) s0
| NoTextToSend (Source s0) s0
| NoTopLevel (Source s0) s0 s0
| WildTopLevel (Source s0) s0 s0
| BadMask (Source s0) s0 s0
| UnknownCommand (Source s0) s0 s0
| NoMotd (Source s0) s0
| NoAdminInfo (Source s0) s0 s0
| FileError (Source s0) s0 s0
| NoNicknameGiven (Source s0) s0
| ErroneusNickname (Source s0) s0 s0
| NicknameInUse (Source s0) s0 s0
| NickCollision (Source s0) s0 s0 s0
| UnavailResource (Source s0) s0 s0
| UserNotInChannel (Source s0) s0 s0 s0
| NotOnChannel (Source s0) s0 s0
| UserOnChannel (Source s0) s0 s0 s0
| NoLogin (Source s0) s0 s0
| SummonDisabled (Source s0) s0
| UsersDisabled (Source s0) s0
| NotRegistered (Source s0) s0
| NeedMoreParams (Source s0) s0 s0
| AlreadyRegistered (Source s0) s0
| NoPermForHost (Source s0) s0
| PasswordMismatch (Source s0) s0
| YoureBannedCreep (Source s0) s0
| YouWillBeBanned (Source s0) s0
| KeySet (Source s0) s0 s0
| ChannelIsFull (Source s0) s0 s0
| UnknownMode (Source s0) s0 s0
| InviteOnlyChan (Source s0) s0 s0
| BannedFromChan (Source s0) s0 s0
| BadChannelKey (Source s0) s0 s0
| BadChanMask (Source s0) s0 s0
| NoChanModes (Source s0) s0 s0
| BanListFull (Source s0) s0 s0 s0
| NoPrivileges (Source s0) s0
| ChanOpPrivsNeeded (Source s0) s0 s0
| CantKillServer (Source s0) s0
| Restricted (Source s0) s0
| UniqOpPrivsNeeded (Source s0) s0
| NoOperHost (Source s0) s0
| UserModeUnknownFlag (Source s0) s0
| UsersDontMatch (Source s0) s0
| NulRequest (Source s0) s0
| NulResponse (Source s0) s0
-- Defined at Earendil/Types.hs:52:3
instance Eq s0 => Eq (Command s0)
-- Defined at Earendil/Types.hs:52:3
instance Functor Command -- Defined at Earendil/Types.hs:52:3
instance Show s0 => Show (Command s0)
-- Defined at Earendil/Types.hs:52:3
instance Foldable Command -- Defined at Earendil/Types.hs:52:3
instance Traversable Command -- Defined at Earendil/Types.hs:52:3
>>>: [Nick Here "earendil-bot",User Here "earendil" 0 "E\228rendil the Mariner",ChannelJoin Here ["#moosesocks"] Nothing]
<<<: Notice (Server "sinisalo.freenode.net") "*" "*** Looking up your hostname..."
<<<: Notice (Server "sinisalo.freenode.net") "*" "*** Checking Ident"
<<<: Notice (Server "sinisalo.freenode.net") "*" "*** Found your hostname"
<<<: Notice (Server "sinisalo.freenode.net") "*" "*** No Ident response"
<<<: Welcome (Server "sinisalo.freenode.net") "earendil-bot" "Welcome to the freenode Internet Relay Chat Network earendil-bot"
<<<: YourHost (Server "sinisalo.freenode.net") "earendil-bot" "Your host is sinisalo.freenode.net[91.217.189.42/6667], running version ircd-seven-1.1.3"
<<<: Created (Server "sinisalo.freenode.net") "earendil-bot" "This server was created Tue Jul 1 2014 at 14:17:05 CEST"
<<<: LuserClient (Server "sinisalo.freenode.net") "earendil-bot" "There are 159 users and 86031 invisible on 27 servers"
<<<: LuserOp (Server "sinisalo.freenode.net") "earendil-bot" 19
<<<: LuserUnknown (Server "sinisalo.freenode.net") "earendil-bot" 9
<<<: LuserChannels (Server "sinisalo.freenode.net") "earendil-bot" 59286
<<<: LuserMe (Server "sinisalo.freenode.net") "earendil-bot" "I have 4724 clients and 1 servers"
<<<: MotdStart (Server "sinisalo.freenode.net") "earendil-bot" "- sinisalo.freenode.net Message of the Day - "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- Welcome to sinisalo.freenode.net in Stockholm, SE."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- Thanks to http://www.portlane.com/ for sponsoring"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- this server!"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- SINISALO, (ANNA) JOHANNA (1958-), a Finnish science fiction"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- and fantasy novelist and a script writer. Her novel 'Not"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- Before Sundown' (orig. 'Ennen p\228iv\228nlaskua ei voi'"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- published in Finnish in 2000, when it also won the biggest"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- literature award of Finland) was awarded The James Tiptree"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- Jr. award in 2004. She was nominated for a Nebula award in"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- 2009 for her short story Baby Doll. Their most recent work"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- includes screenwriting for the film 'Iron Sky'."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- Welcome to freenode - supporting the free and open source"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- software communities since 1998."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- By connecting to freenode you indicate that you have read and"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- accept our policies as set out on http://www.freenode.net"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- freenode runs an open proxy scanner. Please join #freenode for"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- any network-related questions or queries, where a number of"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- volunteer staff and helpful users will be happy to assist you."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- You can meet us at FOSSCON (http://www.fosscon.org) where we get"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- together with like-minded FOSS enthusiasts for talks and"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- real-life collaboration."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- We would like to thank Private Internet Access"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- (https://www.privateinternetaccess.com/) and the other"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- organisations that help keep freenode and our other projects"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- running for their sustained support."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- In particular we would like to thank the sponsor"
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- of this server, details of which can be found above."
<<<: MotdText (Server "sinisalo.freenode.net") "earendil-bot" "- "
<<<: MotdEnd (Server "sinisalo.freenode.net") "earendil-bot"
<<<: Mode (Server "earendil-bot") "earendil-bot" "+i"
<<<: ChannelJoin (Client "earendil-bot" NotIdented "earendil" "76-252-153-161.lightspeed.clmboh.sbcglobal.net") ["#moosesocks"] Nothing
>>>: [Privmsg Here "#moosesocks" "\ETX4,99this is red\ETX\SI this is not red"]
<<<: NamesReply (Server "sinisalo.freenode.net") "earendil-bot" "=" "#moosesocks" ["earendil-bot","agrif","CounterPillow"]
<<<: NamesEnd (Server "sinisalo.freenode.net") "earendil-bot" "#moosesocks"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment