/
sendMsg.py
133 lines (112 loc) · 4.6 KB
/
sendMsg.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/usr/bin/env python
from IRCLibrary import IRCHelper,ResponseParser,IRC
#EntryBox Activated, Checks for any commands, like /j or /join.
def entryBoxCheck(self, text, server, listTreeView, selectedChan, servers, IRC):
if text.startswith("/j") or text.startswith("/join"):
IRCHelper.join(server,text.replace("/j ","").replace("/join ",""),server.listTreeStore)
return True
if text.startswith("/msg"):
splitText = text.replace("/msg ","").split(" ")
count = 0
msg = ""
for i in splitText:
if count > 0:
msg += i + " "
count += 1
IRCHelper.cmdSendMsg(server,splitText[0],msg)
return True
if text.startswith("/nick"):
print "NICK " + text.replace("/nick ","")
server.cSocket.send("NICK " + text.replace("/nick ","") + "\r\n")
return True
if text.startswith("/raw"):
splitText = text.replace("/raw ","").split(" ")
rawMsg = ""
for i in splitText:
rawMsg += i + " "
server.cSocket.send(rawMsg + "\r\n")
return True
"""NEED TO MAKE THIS IN A SEPERATE FILE, ALL THE CTCP STUFF."""
if text.startswith("/version"):
IRCHelper.sendMsg(server,text.replace("/version ",""),"\x01VERSION\x01")
#PRIVMSG dom96 :VERSION
return True
if text.startswith("/ctcp"):
splitText = text.replace("/ctcp ","").split()
try:
to=splitText[0]#dom96 for example
ctcp=splitText[1]#VERSION for example
IRCHelper.sendMsg(server,to,"\x01" + ctcp + "\x01")
except:
pass
return True
if text.startswith("/me"):
from IRCLibrary import ResponseParser
fakecResp=ResponseParser.privMsg()
fakecResp.msg="ACTION " + text[4:] + ""
fakecResp.nick=server.cNick
#Get the selected channel
model, selected = listTreeView.get_selection().get_selected()
cSelected = server.listTreeStore.get_value(selected, 0)
fakecResp.channel=cSelected
IRCHelper.sendMsg(server,cSelected,"ACTION " + text[4:] + "")
return True
if text.startswith("/exec"):
from IRCLibrary import ResponseParser
import commands
output = commands.getoutput(text[5:])
#Get the selected channel
model, selected = listTreeView.get_selection().get_selected()
cSelected = server.listTreeStore.get_value(selected, 0)
IRCHelper.sendMsg(server,cSelected,output)
return True
if text.startswith("/cycle"):
server.cSocket.send("PART " + text.split(" ")[1] + "\r\n")
server.cSocket.send("JOIN " + text.split(" ")[1] + "\r\n")
return True
if text.startswith("/quit"):
pDebug("\033[1;34m" + "QUIT :%s" % (text[5:]) + "\\r\\n\033[1;m")
server.cSocket.send("QUIT :%s\r\n" % (text[5:]))
return True
if text.startswith("/eval"):
try:
output = eval(' '.join(text.split()[1:]))
pDebug(output)
IRCHelper.cmdSendMsg(server, selectedChan, str(' '.join(text.split()[1:])) + " = " + str(output))
except:
pDebug("Error occured with /eval")
return True
if text.startswith("/newserver"):
address = text.split()[1]
try:
port = int(text.split()[2])
except:
port = 6667
from settings import settings
serv = settings.sServer()
serv.cName = address
serv.addresses = []
addr = settings.sServer()
addr.cAddress = address
addr.cPort = port
addr.cSsl = False
addr.cPass = ""
serv.addresses.append(addr)
from Form import form_stuff
form_stuff.connect_server(self, serv, IRC, servers)
return True
if text.startswith("//"):
IRCHelper.cmdSendMsg(server, selectedChan, text[1:])
return True
if text.startswith("/") and text.startswith("//") == False:
pDebug("\033[1;34m" + text[1:] + "\\r\\n\033[1;m")
server.cSocket.send(text[1:] + "\r\n")
return True
return False
import inspect
debugInfo=True
def pDebug(txt):
if debugInfo:
func = str(inspect.getframeinfo(inspect.currentframe().f_back).function)
filename = str(inspect.getframeinfo(inspect.currentframe().f_back).filename);filename = filename.split("/")[len(filename.split("/"))-1]
print "[\033[1;34m"+str(inspect.currentframe().f_back.f_lineno).rjust(3, '0')+"\033[1;m, " + filename +"(" + func + ")]\n " + str(txt)