Class: BaseIRC::IRC

Inherits:
Object
  • Object
show all
Defined in:
lib/baseirc.rb

Overview

IRC class for sending communcation to an IRC server

Instance Method Summary collapse

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

#dieObject

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
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(message)
    @socket << "QUIT :#{message}"
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

#rehashObject

Sends REHASH message



276
277
278
# File 'lib/baseirc.rb', line 276

def rehash
    @socket << "REHASH"
end

#restartObject

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

#socketObject

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

#unawayObject

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