Index: /trunk/nicotine+/pynicotine/gtkgui/privatechat.py
===================================================================
--- /trunk/nicotine+/pynicotine/gtkgui/privatechat.py (revision 1291)
+++ /trunk/nicotine+/pynicotine/gtkgui/privatechat.py (revision 1457)
@@ -30,4 +30,7 @@
from pynicotine.logfacility import log
+CTCP_VERSION = "\x01VERSION\x01"
+
+
class PrivateChats(IconNotebook):
CMDS = set(["/alias ", "/unalias ", "/whois ", "/browse ", "/ip ", "/pm ", "/msg ", "/search ", "/usearch ", "/rsearch ",
@@ -87,5 +90,5 @@
tab.GetUserStatus(msg.status)
- def SendMessage(self, user, text = None, direction = None):
+ def SendMessage(self, user, text = None, direction = None, bytestring = False):
if user not in self.users:
tab = PrivateChat(self, user)
@@ -98,5 +101,5 @@
self.set_current_page(self.page_num(self.users[user].Main))
if text is not None:
- self.users[user].SendMessage(text)
+ self.users[user].SendMessage(text, bytestring=bytestring)
def TabPopup(self, user):
@@ -189,10 +192,10 @@
# SEND CLIENT VERSION to user if the following string is sent
ctcpversion = 0
- if text == "\x01VERSION\x01":
+ if text == CTCP_VERSION:
ctcpversion = 1
text = "CTCP VERSION"
self.users[msg.user].ShowMessage(text, status, msg.timestamp)
if ctcpversion and self.frame.np.config.sections["server"]["ctcpmsgs"] == 0:
- self.SendMessage(msg.user, "Nicotine-Plus %s" % version)
+ self.SendMessage(msg.user, u"Nicotine-Plus %s" % version)
self.frame.pluginhandler.IncomingPrivateChatNotification(msg.user, text)
@@ -480,9 +483,9 @@
autoreply = self.frame.np.config.sections["server"]["autoreply"]
if self.frame.away and not self.autoreplied and autoreply:
- self.SendMessage("[Auto-Message] %s" % autoreply)
+ self.SendMessage(u"[Auto-Message] %s" % autoreply)
self.autoreplied = 1
self.frame.Notifications.new_tts(self.frame.np.config.sections["ui"]["speechprivate"] %{"user":self.frame.Notifications.tts_clean(self.user), "message": self.frame.Notifications.tts_clean(speech)} )
- def SendMessage(self, text):
+ def SendMessage(self, text, bytestring=False):
user_text = self.frame.pluginhandler.OutgoingPrivateChatEvent(self.user, text)
if user_text == None:
@@ -496,5 +499,5 @@
else:
- if text == "\x01VERSION\x01":
+ if text == CTCP_VERSION:
line = "CTCP VERSION"
else:
@@ -508,10 +511,14 @@
self.logfile = WriteLog(self.logfile, self.frame.np.config.sections["logging"]["privatelogsdir"], self.user, line)
+ if bytestring:
+ payload = text
+ else:
+ payload = ToBeEncoded(self.frame.AutoReplace(text), self.encoding)
+
if self.PeerPrivateMessages.get_active():
# not in the soulseek protocol
- self.frame.np.ProcessRequestToPeer(self.user, slskmessages.PMessageUser(None, my_username, ToBeEncoded(self.frame.AutoReplace(text), self.encoding)))
- else:
- self.frame.np.queue.put(slskmessages.MessageUser(self.user, ToBeEncoded(self.frame.AutoReplace(text), self.encoding)))
-
+ self.frame.np.ProcessRequestToPeer(self.user, slskmessages.PMessageUser(None, my_username, payload))
+ else:
+ self.frame.np.queue.put(slskmessages.MessageUser(self.user, payload))
@@ -633,5 +640,5 @@
elif cmd == "/ctcpversion":
if args:
- self.frame.privatechats.SendMessage(args, "\x01VERSION\x01", 1)
+ self.frame.privatechats.SendMessage(args, CTCP_VERSION, 1, bytestring=True)
elif cmd in ["/clear", "/cl"]:
self.ChatScroll.get_buffer().set_text("")
Index: /trunk/nicotine+/pynicotine/gtkgui/chatrooms.py
===================================================================
--- /trunk/nicotine+/pynicotine/gtkgui/chatrooms.py (revision 1454)
+++ /trunk/nicotine+/pynicotine/gtkgui/chatrooms.py (revision 1457)
@@ -1275,9 +1275,8 @@
elif cmd in ["/m", "/msg"]:
if byteargs:
- s = byteargs.split(" ", 1)
- user = s[0]
- if len(s) == 2:
- msg = s[1]
- else:
+ user = byteargs.split(" ", 1)[0]
+ try:
+ msg = args.split(" ", 1)[1]
+ except IndexError:
msg = None
self.frame.privatechats.SendMessage(user, msg)
Index: /trunk/nicotine+/pynicotine/gtkgui/utils.py
===================================================================
--- /trunk/nicotine+/pynicotine/gtkgui/utils.py (revision 1454)
+++ /trunk/nicotine+/pynicotine/gtkgui/utils.py (revision 1457)
@@ -1021,5 +1021,5 @@
def OnVersion(self, widget):
- self.frame.privatechats.SendMessage(self.user, "\x01VERSION\x01")
+ self.frame.privatechats.SendMessage(self.user, "\x01VERSION\x01", bytestring=True)
def OnCopyUser(self, widget):