From e9b0b621e6cfb3a7e4e8f83ba222a6f2aeab87cd Mon Sep 17 00:00:00 2001 From: Carlos Date: Mon, 25 Mar 2024 22:12:19 +0000 Subject: [PATCH] Fix KeyError when is_im not present. (#104) --- CHANGELOG.md | 1 + src/slackv3/person.py | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df97526..935ec24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - refactored user cache to allow organisation level users/bots #95 (@gdelaney) ### Fixed - setting SlackRoom purpose. (@jcfrt) + - Fixed channelname raising KeyError: 'is_im'. #103 (@nzlosh) ## [0.2.1] 2022-10-02 ### Added diff --git a/src/slackv3/person.py b/src/slackv3/person.py index 3e1d911..07aa05d 100644 --- a/src/slackv3/person.py +++ b/src/slackv3/person.py @@ -105,11 +105,9 @@ def _cache_user_info(self): # Normal users if res.get("user").get("team_id"): team = res["user"]["team_id"] - # Users in a ORG/grid setup do not have a team ID - elif res.get("user").get("enterprise_user"): - team = res.get("user").get("enterprise_user").get("enterprise_id") - + elif res.get("user", {}).get("enterprise_user"): + team = res["user"]["enterprise_user"].get("enterprise_id") else: log.warning( f"Failed to find team_id or enterprise_user details for userid {self._userid}." @@ -134,7 +132,7 @@ def channelname(self): Convert a Slack channel ID to its channel name """ channel_name_key = "name" - if self._channel_info["is_im"] is True: + if self._channel_info.get("is_im") is True: channel_name_key = "user" return self._channel_info[channel_name_key]