"""formate un string avec des ` tout en gardant les mention et les liens"""
string=f"`{removeStartEndSpacesString(string)}`"
findedMention=getMentionInString(string)
foriinrange(0,len(findedMention)):
string=string.replace(findedMention[i],f"`{findedMention[i]}`")# conserve la mention dans le message
ifstring.startswith("``<@"):# conserve le format quand mention au début de la string
string=string[2:]
ifstring.endswith(">``"):# conserve le format quand mention à la fin de la string
string=string[:-2]
string=string.replace("``","")# conserve le format quand deux mentions sont collés
returnstring
defgetMentionInString(string):
"""récupère les mentions dans un string"""
findedMention=[]
forfindingMentioninre.findall(r'<@[!]?\d*>',string):# récupération mention dans le string
findedMention.append(findingMention)
findedMention=list(dict.fromkeys(findedMention))# suppression doublon de mention dans la liste
returnfindedMention
defgetURLsInString(string):
"""récupère les liens dans un string"""
findedURLs=[]
forfindingMentioninre.findall(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+',string):# récupération URLs dans le string
findedURLs.append(findingMention)
returnfindedURLs
defremoveStartEndSpacesString(string):
"""Retire les espaces en trop au début et à la fin d'un string"""
whilestring.startswith(""):
string=string[1:]
whilestring.endswith(""):
string=string[:-1]
returnstring
defrandomImage(link):
"""Récupération d'une image aléatoirement"""