Source code for slackminion.slack.event

[docs]class SlackEvent(object): _channel = None user = None """Encapsulates an event received from the RTM socket""" def __init__(self, event_type, **payload): self.event_type = event_type self.rtm_client = payload.get("rtm_client") self.web_client = payload.get("web_client") self.data = payload.get("data") self.subtype = payload.get("subtype") self.user_id = self.data.get("user") self.channel_id = self.data.get("channel") @property def channel(self): if self._channel: return self._channel return self.channel_id @channel.setter def channel(self, c): self._channel = c @property def text(self): if "text" in self.data: return self.data["text"] elif "message" in self.data: return self.data["message"].get("text", "") return "" @property def ts(self): return self.data.get("ts", self.data.get("event_ts")) @property def thread_ts(self): return self.data.get("thread_ts") @property def event_ts(self): return self.data.get("event_ts") def __repr__(self): return f"SlackEvent type {self.event_type} User: {self.user_id}"