Strip out bold italics and escape char in discord messages

feature/embed-uploads
Tristan Gosselin-Hane 7 years ago
parent f050efeb63
commit debf2d9ff9
  1. 17
      webhook-bridge.py

@ -102,6 +102,14 @@ def remove_emoji(string):
return emoji_pattern.sub(r'', string) return emoji_pattern.sub(r'', string)
def escape_markdown(string):
# Absolutely needs to go first or it will replace our escaping slashes!
string = string.replace("\\", "\\\\")
string = string.replace("_", "\\_")
string = string.replace("*", "\\*")
return string
def strip_colour(string): def strip_colour(string):
colour_pattern = re.compile( colour_pattern = re.compile(
u"\U000000A7" # selection symbol u"\U000000A7" # selection symbol
@ -249,10 +257,9 @@ def main():
global TAB_FOOTER, TAB_HEADER global TAB_FOOTER, TAB_HEADER
logging.debug("Got Tablist H/F Update: header={}".format(header_footer_packet.header)) logging.debug("Got Tablist H/F Update: header={}".format(header_footer_packet.header))
logging.debug("Got Tablist H/F Update: footer={}".format(header_footer_packet.footer)) logging.debug("Got Tablist H/F Update: footer={}".format(header_footer_packet.footer))
# Strip out colour codes # Strip out colour codes and some markdown
TAB_HEADER = escape_markdown(strip_colour(json.loads(header_footer_packet.header)["text"]))
TAB_HEADER = strip_colour(json.loads(header_footer_packet.header)["text"]) TAB_FOOTER = escape_markdown(strip_colour(json.loads(header_footer_packet.footer)["text"]))
TAB_FOOTER = strip_colour(json.loads(header_footer_packet.footer)["text"])
def handle_tab_list(tab_list_packet): def handle_tab_list(tab_list_packet):
logging.debug("Processing tab list packet") logging.debug("Processing tab list packet")
@ -333,7 +340,7 @@ def main():
return return
logging.info("Username: {} Message: {}".format(username, original_message)) logging.info("Username: {} Message: {}".format(username, original_message))
logging.debug("msg: {}".format(repr(original_message))) logging.debug("msg: {}".format(repr(original_message)))
message = remove_emoji(original_message.strip().replace("@", "@\N{zero width space}")) message = escape_markdown(remove_emoji(original_message.strip().replace("@", "@\N{zero width space}")))
webhook_payload = { webhook_payload = {
'username': username, 'username': username,
'avatar_url': "https://visage.surgeplay.com/face/160/{}".format(player_uuid), 'avatar_url': "https://visage.surgeplay.com/face/160/{}".format(player_uuid),

Loading…
Cancel
Save