A simple class (
SlackPerson) for retrieving and storing information about a
person in your slack channel from the slack api.
$ pip install slackperson
You will also need the slackclient package.
SlackPerson class can be initialized with the from_userlist method
that allows you to supply a username or userid and the output of the
users.list method to get data about a user.
After initialization, an instance of
SlackPerson will have these
- username: the username supplied at instantiation (if username was supplied with preceeding '@', it will be stripped off.)
- userid: the internal id of the user (this is useful for tagging in api generated messages.
- email: the user's account email address in slack
- fname: the user's first name
- lname: the user's last name
- team: the user's team id
Import and use the
from slackperson import SlackPerson from slackclient import SlackClient sc = SlackClient(os.environ['SLACK_API_TOKEN']) userlist = sc.api_call('users.list') me = SlackPerson.from_userlist('myusername', userlist)
myusername is a member of your channel (i.e. on the userlist), the
me will now have all of the SlackPerson attributes. If not, it
SlackDataError. It will also raise
SlackDataError if the
userlist is malformed in any way.
There is a test case for a successful creation of a SlackPerson object and
for the cases where exceptions should be raised. They are unittests so they
can be run with unittest discovery or