1:- module(irc_client_operator, [
2 cmd/2,
3 dbg/2
4]).
12%--------------------------------------------------------------------------------% 13% Commands 14%--------------------------------------------------------------------------------% 15 16 17% Convenience commands for specific message relays. 18% Attempt to unify with a type and a corresponding string template. The string 19% template will be fed to dispatch in order to send a message. 20 21% ADMIN [Target] 22cmd(admin, 'ADMIN ~s\r~n'). 23 24% AWAY [Message] 25cmd(away, 'AWAY :~s\r~n'). 26 27% CONNECT [Server, Port] 28cmd(connect, 'CONNECT ~s ~s\r~n'). 29 30% DIE 31cmd(die, 'DIE\r~n'). 32 33% HELP 34cmd(help, 'HELP\r~n'). 35 36% INFO 37cmd(info, 'INFO\r~n'). 38 39% ISON [Names] (comma separated values) 40cmd(ison, 'ISON :~s\r~n'). 41 42% KILL [Client, Comment] 43cmd(kill, 'KILL ~s :~s\r~n'). 44 45% LINKS 46cmd(links, 'LINKS\r~n'). 47 48% LIST [Channels] (comma separated values) 49cmd(list, 'LIST :~s\r~n'). 50 51% LUSERS 52cmd(lusers, 'LUSERS :~s\r~n'). 53 54% NAMES [Channels] 55cmd(names, 'NAMES :~s\r~n'). 56 57% OPER [Username, Pass] 58cmd(oper, 'OPER ~s ~s\r~n'). 59 60% REHASH 61cmd(rehash, 'REHASH\r~n'). 62 63% RESTART 64cmd(restart, 'RESTART\r~n'). 65 66% RULES 67cmd(rules, 'RULES\r~n'). 68 69% SERVER [Servername, Hopcount, Info] 70cmd(server, 'SERVER ~s ~s :~s\r~n'). 71 72% SERVICE [Nick, Reserved, Distribution, Type, Reserved, Info] 73cmd(service, 'SERVICE ~s ~s ~s ~s ~s :~s\r~n'). 74 75% SERVLIST 76cmd(servlist, 'SERVLIST\r~n'). 77 78% STATS [Query] 79cmd(stats, 'STATS ~s\r~n'). 80 81% USERHOST [Nick(s)] 82cmd(userhost, 'USERHOST :~s\r~n'). 83 84% USERIP [NICK] 85cmd(userip, 'USERIP ~s\r~n'). 86 87% USERS 88cmd(users, 'USERS\r~n'). 89 90% VERSION 91cmd(version, 'VERSION\r~n'). 92 93% WHO [Name] 94cmd(who, 'WHO ~s\r~n'). 95 96% WHO [Name] (is an op) 97cmd(who_op, 'WHO ~s o\r~n'). 98 99% WHO (are ops) 100cmd(who_ops, 'WHO o\r~n'). 101 102% WHOIS [Nicks] 103cmd(whois, 'WHOIS :~s\r~n'). 104 105% WHOWAS [Nick] 106cmd(whowas, 'WHOWAS ~s\r~n'). 107 108% NOTICE [Target, Notice] 109cmd(notice, 'NOTICE ~s :~s\r~n'). 110 111% PRIVMSG [Target, PrivMsg] 112cmd(priv_msg, 'PRIVMSG ~s :~s\r~n'). 113 114% TIME [Server] 115cmd(time, 'TIME ~s\r~n'). 116 117% KICK [Chan, Target] 118cmd(kick, 'KICK ~s ~s\r~n'). 119 120% INVITE [Target, Chan] 121cmd(invite, 'INVITE ~s ~s\r~n'). 122 123% NAMES [Chan] 124cmd(names, 'NAMES ~s\r~n'). 125 126% LIST [Chans] (a csv of channels) 127cmd(list, 'LIST :~s\r~n'). 128 129% TOPIC [Chan, Topic] 130cmd(topic, 'TOPIC ~s :~s\r~n'). 131 132% MODE [+/-(Mode), NICK] 133cmd(mode, 'MODE ~s ~s\r~n'). 134 135% PART [CSV] (a csv of channels) 136cmd(part, 'PART :~s\r~n'). 137 138% PING [Target] 139cmd(ping, 'PING ~s\r~n'). 140 141% PONG [Target] 142cmd(pong, 'PONG ~s\r~n'). 143 144% PASS [Pass] 145cmd(pass, 'PASS ~s\r~n'). 146 147% USER [Nick, HostName, ServerName, RealName] 148cmd(user, 'USER ~s ~s ~s :~s\r~n'). 149 150% NICK [Nick] 151cmd(nick, 'NICK ~s\r~n'). 152 153% JOIN [Chan] 154cmd(join, 'JOIN ~s\r~n'). 155 156% QUIT 157cmd(quit, 'QUIT :disconnect\r\n'). 158 159 160%---------------------------------------------------------------------------------------------------% 161% Debugging 162%---------------------------------------------------------------------------------------------------% 163 164% This is used to debug pings, to ensure the client that pongs are being sent. 165 166% PONG [Origin] 167dbg(pong, 'PONG ~s~n')
operator
Operator module that determines appropriate messaging templates for specific atoms which connote particular irc operations. */