Class: BaseIRC::IRC
- Inherits:
-
Object
- Object
- BaseIRC::IRC
- Defined in:
- lib/baseirc.rb
Overview
IRC class for sending communcation to an IRC server
Instance Method Summary collapse
-
#admin(t) ⇒ Object
- t
-
Target Sends ADMIN message.
-
#away(m = nil) ⇒ Object
- m
-
Message Sends AWAY message to mark as away.
-
#connect(t, p, r) ⇒ Object
- t
- Target server p
- Port r
-
Remove server Sends CONNECT message.
-
#die ⇒ Object
Sends DIE message.
-
#info(t) ⇒ Object
- t
-
Target Sends INFO message.
-
#initialize(s) ⇒ IRC
constructor
- s
-
Socket to send through Create a new IRC object.
-
#invite(n, c) ⇒ Object
- n
- Nick c
-
Channel Sends INVITE message.
-
#ison(n) ⇒ Object
- n
-
Nick Sends ISON message to server.
-
#join(c, k = nil) ⇒ Object
- c
- Channel k
-
Key Sends JOIN message.
-
#kick(n, c, r) ⇒ Object
- n
- Nick c
- Channel r
-
Reason Sends KICK message.
-
#kill(n, c) ⇒ Object
- n
- Nick c
-
Comment Sends KILL message.
-
#links(s, m) ⇒ Object
- s
- Server m
-
Mask Sends LINKS message.
-
#list(c = nil) ⇒ Object
- c
-
Channel Sends LIST message.
-
#lusers(m, t) ⇒ Object
- m
- Mask t
-
Target Sends LUSERS message.
- #mode(t, m, c = nil) ⇒ Object
-
#motd(t) ⇒ Object
- t
-
Target Sends MOTD message.
-
#names(c, t = nil) ⇒ Object
- c
- Channel t
-
Target server Sends NAMES message.
-
#nick(nick) ⇒ Object
- nick
-
Nick to send Sends NICK message.
-
#notice(t, m) ⇒ Object
- t
- Target m
-
Message Sends NOTICE message.
-
#oper(n, p) ⇒ Object
- n
- Name p
-
Password Sends OPER message.
-
#part(c, r = '') ⇒ Object
- c
- Channel r
-
Reason Sends PART message.
-
#pass(password) ⇒ Object
- password
-
Password to send Sends PASS message.
-
#ping(m = nil) ⇒ Object
- m
-
Message Sends PING message.
-
#pong(s, m) ⇒ Object
- s
- Server m
-
Message Sends PONG message.
-
#privmsg(t, m) ⇒ Object
- t
- Target m
-
Message Sends PRIVMSG message.
-
#quit(message) ⇒ Object
- message
-
Quit message Sends QUIT message.
-
#raw(m) ⇒ Object
- m
-
Raw string Send raw message.
-
#rehash ⇒ Object
Sends REHASH message.
-
#restart ⇒ Object
Sends RESTART message.
-
#servlist(m, t) ⇒ Object
- m
- Mask t
-
Type Sends SERVLIST message.
-
#socket ⇒ Object
Return currently used socket.
-
#socket=(s) ⇒ Object
- s
-
Socket to send through Set the socket to use.
-
#squery(s, m) ⇒ Object
- s
- Service name m
-
Message Sends SQUERY message.
-
#squit(s, c) ⇒ Object
- s
- Server c
-
Comment Sends SQUIT message.
-
#stats(q, t) ⇒ Object
- q
- Query (single character within set a-z) t
-
Target Sends STATS message.
-
#summon(n, t, c) ⇒ Object
- n
- Nick t
- Target c
-
Channel Sends SUMMON message.
-
#time(t) ⇒ Object
- t
-
Target Sends TIME message.
-
#topic(c, t) ⇒ Object
- c
- Channel t
-
topic Sends TOPIC message.
-
#trace(t) ⇒ Object
- t
-
Target Sends TRACE message.
-
#unaway ⇒ Object
Sends AWAY message to mark as unaway.
-
#user(u, m, r) ⇒ Object
- u
- Username m
-
Mode r: Real name Sends USER message.
-
#userhost(n) ⇒ Object
- n
-
Nick Sends USERHOST message to server.
-
#users(t) ⇒ Object
- t
-
Target Sends USERS message.
-
#version(t) ⇒ Object
- t
-
Target Sends VERSION message.
-
#wallops(m) ⇒ Object
- m
-
Message Sends WALLOPS message.
-
#who(m, o = false) ⇒ Object
- m
- Mask o
-
Ops only Sends WHO message.
-
#whois(n, s = nil) ⇒ Object
- n
- Nick s
-
Server Sends WHOIS message Sends WHOIS message to server.
-
#whowas(n, c = nil, t = nil) ⇒ Object
- n
- Nick c
- Count t
-
Target Sends WHOWAS message.
Constructor Details
#initialize(s) ⇒ IRC
- s
-
Socket to send through
Create a new IRC object
7 8 9 10 |
# File 'lib/baseirc.rb', line 7 def initialize(s) @socket = nil self.socket = s end |
Instance Method Details
#admin(t) ⇒ Object
- t
-
Target
Sends ADMIN message
196 197 198 |
# File 'lib/baseirc.rb', line 196 def admin(t) @socket << "ADMIN #{t}" end |
#away(m = nil) ⇒ Object
- m
-
Message
Sends AWAY message to mark as away
266 267 268 |
# File 'lib/baseirc.rb', line 266 def away(m=nil) @socket << "AWAY :#{m}" end |
#connect(t, p, r) ⇒ Object
- t
-
Target server
- p
-
Port
- r
-
Remove server
Sends CONNECT message
184 185 186 |
# File 'lib/baseirc.rb', line 184 def connect(t, p, r) @socket << "CONNECT #{t} #{p} #{r}" end |
#die ⇒ Object
Sends DIE message
281 282 283 |
# File 'lib/baseirc.rb', line 281 def die @socket << "DIE" end |
#info(t) ⇒ Object
- t
-
Target
Sends INFO message
202 203 204 |
# File 'lib/baseirc.rb', line 202 def info(t) @socket << "INFO #{t}" end |
#invite(n, c) ⇒ Object
- n
-
Nick
- c
-
Channel
Sends INVITE message
111 112 113 |
# File 'lib/baseirc.rb', line 111 def invite(n, c) @socket << "INVITE #{n} #{c}" end |
#ison(n) ⇒ Object
- n
-
Nick
Sends ISON message to server
318 319 320 |
# File 'lib/baseirc.rb', line 318 def ison(n) @socket << "ISON #{n}" end |
#join(c, k = nil) ⇒ Object
- c
-
Channel
- k
-
Key
Sends JOIN message
77 78 79 |
# File 'lib/baseirc.rb', line 77 def join(c, k=nil) @socket << "JOIN #{c} #{k}".strip end |
#kick(n, c, r) ⇒ Object
- n
-
Nick
- c
-
Channel
- r
-
Reason
Sends KICK message
119 120 121 |
# File 'lib/baseirc.rb', line 119 def kick(n, c, r) @socket << "KICK #{c} #{n} :#{r}" end |
#kill(n, c) ⇒ Object
- n
-
Nick
- c
-
Comment
Sends KILL message
247 248 249 |
# File 'lib/baseirc.rb', line 247 def kill(n, c) @socket << "KILL #{n} :#{c}" end |
#links(s, m) ⇒ Object
- s
-
Server
- m
-
Mask
Sends LINKS message
170 171 172 |
# File 'lib/baseirc.rb', line 170 def links(s, m) @socket << "LIST #{s} #{m}" end |
#list(c = nil) ⇒ Object
- c
-
Channel
Sends LIST message
104 105 106 |
# File 'lib/baseirc.rb', line 104 def list(c=nil) @socket << "LIST #{c}".strip end |
#lusers(m, t) ⇒ Object
- m
-
Mask
- t
-
Target
Sends LUSERS message
147 148 149 |
# File 'lib/baseirc.rb', line 147 def lusers(m, t) @socket << "LUSERS #{m} #{t}" end |
#mode(t, m, c = nil) ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/baseirc.rb', line 53 def mode(t, m, c=nil) if(c) @socket << "MODE #{c} #{m} #{t}" else @socket << "MODE #{t} #{m}" end end |
#motd(t) ⇒ Object
- t
-
Target
Sends MOTD message
140 141 142 |
# File 'lib/baseirc.rb', line 140 def motd(t) @socket << "MOTD #{t}" end |
#names(c, t = nil) ⇒ Object
- c
-
Channel
- t
-
Target server
Sends NAMES message
98 99 100 |
# File 'lib/baseirc.rb', line 98 def names(c, t=nil) @socket << "NAMES #{c} #{t}".strip end |
#nick(nick) ⇒ Object
- nick
-
Nick to send
Sends NICK message
34 35 36 |
# File 'lib/baseirc.rb', line 34 def nick(nick) @socket << "NICK #{nick}" end |
#notice(t, m) ⇒ Object
- t
-
Target
- m
-
Message
Sends NOTICE message
134 135 136 |
# File 'lib/baseirc.rb', line 134 def notice(t, m) @socket << "NOTICE #{t} :#{m}" end |
#oper(n, p) ⇒ Object
- n
-
Name
- p
-
Password
Sends OPER message
49 50 51 |
# File 'lib/baseirc.rb', line 49 def oper(n, p) @socket << "OPER #{n} #{p}" end |
#part(c, r = '') ⇒ Object
- c
-
Channel
- r
-
Reason
Sends PART message
84 85 86 |
# File 'lib/baseirc.rb', line 84 def part(c, r='') @socket << "PART #{c} :#{r}" end |
#pass(password) ⇒ Object
- password
-
Password to send
Sends PASS message
28 29 30 |
# File 'lib/baseirc.rb', line 28 def pass(password) @socket << "PASS #{password}" end |
#ping(m = nil) ⇒ Object
- m
-
Message
Sends PING message
253 254 255 |
# File 'lib/baseirc.rb', line 253 def ping(m=nil) @socket << "PING #{m}".strip end |
#pong(s, m) ⇒ Object
- s
-
Server
- m
-
Message
Sends PONG message
260 261 262 |
# File 'lib/baseirc.rb', line 260 def pong(s, m) @socket << "PONG #{s} #{m}" end |
#privmsg(t, m) ⇒ Object
- t
-
Target
- m
-
Message
Sends PRIVMSG message
127 128 129 |
# File 'lib/baseirc.rb', line 127 def privmsg(t, m) @socket << "PRIVMSG #{t} :#{m}" end |
#quit(message) ⇒ Object
- message
-
Quit message
Sends QUIT message
63 64 65 |
# File 'lib/baseirc.rb', line 63 def quit() @socket << "QUIT :#{}" end |
#raw(m) ⇒ Object
- m
-
Raw string
Send raw message
324 325 326 |
# File 'lib/baseirc.rb', line 324 def raw(m) @socket << m end |
#rehash ⇒ Object
Sends REHASH message
276 277 278 |
# File 'lib/baseirc.rb', line 276 def rehash @socket << "REHASH" end |
#restart ⇒ Object
Sends RESTART message
286 287 288 |
# File 'lib/baseirc.rb', line 286 def restart @socket << "RESTART" end |
#servlist(m, t) ⇒ Object
- m
-
Mask
- t
-
Type
Sends SERVLIST message
209 210 211 |
# File 'lib/baseirc.rb', line 209 def servlist(m, t) @socket << "SERVLIST #{m} #{t}" end |
#socket ⇒ Object
Return currently used socket
22 23 24 |
# File 'lib/baseirc.rb', line 22 def socket @socket end |
#socket=(s) ⇒ Object
- s
-
Socket to send through
Set the socket to use
14 15 16 17 18 19 |
# File 'lib/baseirc.rb', line 14 def socket=(s) unless(s.respond_to?(:<<)) raise ArgumentError.new('Please supply a socket') end @socket = s end |
#squery(s, m) ⇒ Object
- s
-
Service name
- m
-
Message
Sends SQUERY message
216 217 218 |
# File 'lib/baseirc.rb', line 216 def squery(s, m) @socket << "SQUERY #{s} #{m}" end |
#squit(s, c) ⇒ Object
- s
-
Server
- c
-
Comment
Sends SQUIT message
70 71 72 |
# File 'lib/baseirc.rb', line 70 def squit(s, c) @socket << "SQUIT #{s} :#{c}" end |
#stats(q, t) ⇒ Object
- q
-
Query (single character within set a-z)
- t
-
Target
Sends STATS message
160 161 162 163 164 165 |
# File 'lib/baseirc.rb', line 160 def stats(q, t) unless(q =~ /^[a-z]$/) raise ArgumentError.new('Query must be a single character') end @socket << "STATS #{q} #{t}" end |
#summon(n, t, c) ⇒ Object
- n
-
Nick
- t
-
Target
- c
-
Channel
Sends SUMMON message
294 295 296 |
# File 'lib/baseirc.rb', line 294 def summon(n, t, c) @socket << "SUMMON #{n} #{t} #{c}" end |
#time(t) ⇒ Object
- t
-
Target
Sends TIME message
176 177 178 |
# File 'lib/baseirc.rb', line 176 def time(t) @socket << "TIME #{t}" end |
#topic(c, t) ⇒ Object
- c
-
Channel
- t
-
topic
Sends TOPIC message
91 92 93 |
# File 'lib/baseirc.rb', line 91 def topic(c, t) @socket << "TOPIC #{c} :#{t}" end |
#trace(t) ⇒ Object
- t
-
Target
Sends TRACE message
190 191 192 |
# File 'lib/baseirc.rb', line 190 def trace(t) @socket << "TRACE #{t}" end |
#unaway ⇒ Object
Sends AWAY message to mark as unaway
271 272 273 |
# File 'lib/baseirc.rb', line 271 def unaway @socket << "AWAY" end |
#user(u, m, r) ⇒ Object
- u
-
Username
- m
-
Mode
r: Real name Sends USER message
42 43 44 |
# File 'lib/baseirc.rb', line 42 def user(u, m, r) @socket << "USER #{u} #{m} * :#{r}" end |
#userhost(n) ⇒ Object
- n
-
Nick
Sends USERHOST message to server
312 313 314 |
# File 'lib/baseirc.rb', line 312 def userhost(n) @socket << "USERHOST #{n}" end |
#users(t) ⇒ Object
- t
-
Target
Sends USERS message
300 301 302 |
# File 'lib/baseirc.rb', line 300 def users(t) @socket << "USERS #{t}" end |
#version(t) ⇒ Object
- t
-
Target
Sends VERSION message
153 154 155 |
# File 'lib/baseirc.rb', line 153 def version(t) @socket << "VERSION #{t}" end |
#wallops(m) ⇒ Object
- m
-
Message
Sends WALLOPS message
306 307 308 |
# File 'lib/baseirc.rb', line 306 def wallops(m) @socket << "WALLOPS :#{m}" end |
#who(m, o = false) ⇒ Object
- m
-
Mask
- o
-
Ops only
Sends WHO message
223 224 225 226 |
# File 'lib/baseirc.rb', line 223 def who(m, o=false) o = o ? 'o' : '' @socket << "WHO #{m} #{o}".strip end |
#whois(n, s = nil) ⇒ Object
- n
-
Nick
- s
-
Server
Sends WHOIS message Sends WHOIS message to server
232 233 234 |
# File 'lib/baseirc.rb', line 232 def whois(n, s=nil) @socket << "WHOIS #{[s,n].compact.join(' ')}" end |
#whowas(n, c = nil, t = nil) ⇒ Object
- n
-
Nick
- c
-
Count
- t
-
Target
Sends WHOWAS message
240 241 242 |
# File 'lib/baseirc.rb', line 240 def whowas(n, c=nil, t=nil) @socket << "WHOWAS #{[n,c,t].compact.join(' ')}" end |