aboutsummaryrefslogtreecommitdiffstats
path: root/wee_slack.py
diff options
context:
space:
mode:
authorRyan Huber <rhuber@gmail.com>2014-12-09 17:42:56 -0800
committerRyan Huber <rhuber@gmail.com>2014-12-09 17:42:56 -0800
commitf22bac58544a4472428b96261ba87abf1ca21822 (patch)
tree5d75135f4449aa8f11a0fa8b959eb56410e956e6 /wee_slack.py
parent233558ebd7eb5e23ce6794ed67b6213e5fa4d822 (diff)
downloadwee-slack-f22bac58544a4472428b96261ba87abf1ca21822.tar.gz
linkify users and channels
Diffstat (limited to 'wee_slack.py')
-rw-r--r--wee_slack.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/wee_slack.py b/wee_slack.py
index 9382b13..4ccf900 100644
--- a/wee_slack.py
+++ b/wee_slack.py
@@ -348,8 +348,18 @@ class Channel(SlackThing):
def set_typing(self, user):
self.typing[user] = time.time()
def send_message(self, message):
+ message = self.linkify_text(message)
+ dbg(message)
request = {"type":"message", "channel":self.identifier, "text": message}
self.server.ws.send(json.dumps(request))
+ def linkify_text(self, message):
+ message = message.split(' ')
+ for item in enumerate(message):
+ if item[1].startswith('@') and self.server.users.find(item[1]):
+ message[item[0]] = "<@{}>".format(self.server.users.find(item[1]).identifier)
+ if item[1].startswith('#') and self.server.channels.find(item[1]):
+ message[item[0]] = "<#{}>".format(self.server.channels.find(item[1]).identifier)
+ return " ".join(message)
def set_topic(self, topic):
topic = topic.encode('ascii', 'ignore')
w.buffer_set(self.channel_buffer, "title", topic);
@@ -483,7 +493,7 @@ class User(SlackThing):
self.nicklist_pointer = w.nicklist_add_nick(server.buffer, "", self.name, self.color(), "+", "", 1)
# w.nicklist_add_nick(server.buffer, "", self.colorized_name(), "", "", "", 1)
def __eq__(self, compare_str):
- if compare_str == self.name or compare_str == self.identifier:
+ if compare_str == self.name or compare_str == "@" + self.name or compare_str == self.identifier:
return True
else:
return False