Module telegram_bot.helper_functions
script for helper functions for bot related stuff
Expand source code
"""
script for helper functions for bot related stuff
"""
__author__ = "Florian Kellermann, Linus Eickhoff"
__date__ = "10.05.2022"
__version__ = "1.0.0"
__license__ = "None"
def contains_markdownv1_symbols(text):
""" checks if text contains markdown symbols
:type text: string
:param text: text to check
:return: true if text contains markdown symbols
:rtype: bool
"""
if text.find("_") != -1 or text.find("*") != -1 or text.find("`") != -1: # check if text contains relevant markdown symbols
return True
return False
def make_markdown_proof(text): # used to avoid errors related to markdown parsemode for telegram messaging
""" makes text markdown proof
:type text: string
:param text: text to make markdown proof
:return: markdown proof text
:rtype: string
"""
text = str(text)
text = text.replace("_", "\\_") # replace _ with \_ because \ is used as escape character in markdown, double escape is needed because \ is also a escape character in strings
text = text.replace("*", "\\*")
text = text.replace("`", "\\`")
text = text.replace("[", "\\[")
text = text.replace("]", "\\]")
text = text.replace("(", "\\(")
text = text.replace(")", "\\)")
text = text.replace("#", "\\#")
text = text.replace("+", "\\+")
text = text.replace("-", "\\-")
text = text.replace("!", "\\!")
text = text.replace(".", "\\.")
text = text.replace("?", "\\?")
text = text.replace("/", "\\/")
text = text.replace("~", "\\~")
text = text.replace("|", "\\|")
text = text.replace("<", "\\<")
text = text.replace(">", "\\>")
text = text.replace("&", "\\&")
text = text.replace("^", "\\^")
text = text.replace("$", "\\$")
text = text.replace("%", "\\%")
text = text.replace("=", "\\=")
text = text.replace("@", "\\@")
return text
if __name__ == '__main__':
print("this is a module for helper functions for the bot and should not be run directly")
print(make_markdown_proof("_test_"))
text = make_markdown_proof("_test_")
print(f"{text}")
Functions
def contains_markdownv1_symbols(text)
-
checks if text contains markdown symbols :type text: string
:param text: text to check
:return: true if text contains markdown symbols
:rtype: bool
Expand source code
def contains_markdownv1_symbols(text): """ checks if text contains markdown symbols :type text: string :param text: text to check :return: true if text contains markdown symbols :rtype: bool """ if text.find("_") != -1 or text.find("*") != -1 or text.find("`") != -1: # check if text contains relevant markdown symbols return True return False
def make_markdown_proof(text)
-
makes text markdown proof :type text: string
:param text: text to make markdown proof
:return: markdown proof text
:rtype: string
Expand source code
def make_markdown_proof(text): # used to avoid errors related to markdown parsemode for telegram messaging """ makes text markdown proof :type text: string :param text: text to make markdown proof :return: markdown proof text :rtype: string """ text = str(text) text = text.replace("_", "\\_") # replace _ with \_ because \ is used as escape character in markdown, double escape is needed because \ is also a escape character in strings text = text.replace("*", "\\*") text = text.replace("`", "\\`") text = text.replace("[", "\\[") text = text.replace("]", "\\]") text = text.replace("(", "\\(") text = text.replace(")", "\\)") text = text.replace("#", "\\#") text = text.replace("+", "\\+") text = text.replace("-", "\\-") text = text.replace("!", "\\!") text = text.replace(".", "\\.") text = text.replace("?", "\\?") text = text.replace("/", "\\/") text = text.replace("~", "\\~") text = text.replace("|", "\\|") text = text.replace("<", "\\<") text = text.replace(">", "\\>") text = text.replace("&", "\\&") text = text.replace("^", "\\^") text = text.replace("$", "\\$") text = text.replace("%", "\\%") text = text.replace("=", "\\=") text = text.replace("@", "\\@") return text