-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathirclib.py
70 lines (70 loc) · 3.03 KB
/
irclib.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
class ircPad :
conn = None
def __init__(self, sock, network="", server="", port=0,nick="",user="",realname="") :
self.conn = sock
self.network = network
self.server = server
self.port = port
self.nickname = nick
self.username = user
self.realname = realname
self.channels = {}
def getChanNicks(self, channame) :
if channame in self.channels.keys() :
return self.channels[channame][0]
return []
def setChanNicks(self, channame, names) :
if not channame in self.channels.keys() :
self.channels[channame] = [[],""]
self.channels[channame][0]= names
def addChanNick(self, channame, user) :
if not channame in self.channels.keys() :
self.channels[channame] = [[],""]
self.channels[channame][0].append(user)
def delChanNick(self, channame, user) :
if channame in self.channels.keys() :
if user in self.channels[channame][0] :
self.channels[channame][0].remove(user)
def setChanTopic(self, channame, topic) :
if not channame in self.channels.keys() :
self.channels[channame] = [[],""]
self.channels[channame][1] = topic
def sendLine(self, line) :
self.conn.send(line.strip("\r\n") + "\r\n")
def sendUser(self, user, realname) :
self.sendLine("USER " + user + " 0 * :" + realname)
def sendNick(self, nick) :
self.sendLine("NICK " + nick)
def sendOper(self, name, password) :
self.sendLine("OPER " + name + " " + password)
def sendMode(self, nick, mode) :
self.sendLine("MODE " + nick + " " + mode)
def sendQuit(self, message="") :
self.sendLine("QUIT :" + message)
def joinChannel(self, channel, key="") :
self.sendLine("JOIN " + "#" + channel + " " + key)
def partChannel(self, channel, message="") :
self.sendLine("PART " + "#" + channel + " :" + message)
def sendChannelMode(self, channel, mode) :
self.sendLine("MODE " + "#" + channel + " " + mode)
def setTopic(self, channel, topic="") :
self.sendLine("TOPIC " + "#" + channel + " :" + topic)
def getTopic(self, channel) :
self.sendLine("TOPIC " + "#" + channel)
def inviteUser(self, nick, channel) :
self.sendLine("INVITE " + nick + " " + "#" + channel)
def kickUser(self, channel, user, reason="") :
self.sendLine("KICK " + "#" + channel + " " + user + " :" + reason)
def sendMessage(self, mess, target) :
self.sendLine("PRIVMSG " + "#" + target + " :" + mess)
print "< " + self.nickname + "> " + target + "\t" + mess
def sendNotice(self, target, message) :
self.sendLine("NOTICE " + target + " :" + mess)
def goAway(self, message = "") :
self.sendLine("AWAY :" + message)
def ban(self, user, chan) :
self.sendChanMode(chan, "+b " + user)
def voice(self, user, chan) :
self.sendChanMode(chan, "+v " + user)
def mute(self, user, chan) :
self.sendChanMode(chan, "-v " + user)