diff --git a/discover_overlay/discover_overlay.py b/discover_overlay/discover_overlay.py
index 319dece..8d4f360 100755
--- a/discover_overlay/discover_overlay.py
+++ b/discover_overlay/discover_overlay.py
@@ -224,12 +224,15 @@ def on_message(ws, message):
elif j["evt"] == "VOICE_CONNECTION_STATUS":
# VOICE_CONNECTED > CONNECTING > AWAITING_ENDPOINT > DISCONNECTED
last_connection = j["data"]["state"]
- elif j["evt"] == "MESSAGE_CREATE":
- add_text(j["data"]["message"])
+ elif j["evt"] == "MESSAGE_CREATE":
+ if current_text == j["data"]["channel_id"]:
+ add_text(j["data"]["message"])
elif j["evt"] == "MESSAGE_UPDATE":
- update_text(j["data"]["message"])
+ if current_text == j["data"]["channel_id"]:
+ update_text(j["data"]["message"])
elif j["evt"] == "MESSAGE_DELETE":
- delete_text(j["data"]["message"])
+ if current_text == j["data"]["channel_id"]:
+ delete_text(j["data"]["message"])
else:
print(j)
return
@@ -1416,11 +1419,11 @@ class TextOverlayWindow(OverlayWindow):
col = "#fff"
if 'nick_col' in line and line['nick_col']:
col = line['nick_col']
- alt_cont = line["content"]
- alt_cont=alt_cont.replace("<","[")
- alt_cont=alt_cont.replace(">","]")
- alt_cont=alt_cont.replace("&", "&")
- long_string = "%s\n%s: %s" %( long_string, col,line["nick"], alt_cont)
+ long_string = "%s\n%s: %s" %(
+ long_string,
+ self.santize_string(col),
+ self.santize_string(line["nick"]),
+ self.santize_string(line["content"]))
layout = self.create_pango_layout(long_string)
layout.set_markup(long_string, -1)
attr = Pango.AttrList()
@@ -1433,6 +1436,10 @@ class TextOverlayWindow(OverlayWindow):
tw,th =layout.get_pixel_size()
context.move_to(0,-th+h)
PangoCairo.show_layout(context, layout)
+
+ def santize_string(self, string):
+ # I hate that Pango has nothing for this.
+ return string.replace("&", "&").replace("<","<").replace(">",">").replace("'", "'").replace("\"", """)
class VoiceOverlayWindow(OverlayWindow):
def __init__(self):