diff --git a/slack/chat.py b/slack/chat.py index c6764bf..bbf8f60 100644 --- a/slack/chat.py +++ b/slack/chat.py @@ -6,6 +6,18 @@ from . import auth from . import users from datetime import datetime import textwrap +import re + + + +def __text_parse_uid(text): + res = text + for uid in re.findall("<@(.*?)>", text): + uid = uid.split("|")[0] + user = slack.users.info(uid) + res = re.sub("<@%s(.*?)>" % uid, "@%s" % user.user(), res) + return res + class Message: @@ -21,6 +33,7 @@ class Message: def __str__(self): lines = [] for line in self.__text: + line = __text_parse_uid(line) lines += [ "" ] + textwrap.wrap(line) text = "\n ".join(lines) time = self.__time.strftime("%I:%M:%S %p") diff --git a/slack/users.py b/slack/users.py index 81ca1dd..c23e7f3 100644 --- a/slack/users.py +++ b/slack/users.py @@ -27,6 +27,9 @@ class User: return self.__user return ("%s %s" % (self.__first, self.__last)).strip() + def user(self): + return self.__user + def email(self): return self.__email