Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Simple class to store slack profile information

Project description

slackperson

https://travis-ci.org/rickh94/slackperson.svg?branch=master https://codecov.io/gh/rickh94/slackperson/branch/master/graph/badge.svg

A simple class (SlackPerson) for retrieving and storing information about a person in your slack channel from the slack api.

Installation

$ pip install slackperson

You will also need the slackclient package.

Usage

The 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 attributes:

  • 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 SlackPerson class:

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)

If myusername is a member of your channel (i.e. on the userlist), the object me will now have all of the SlackPerson attributes. If not, it will raise SlackDataError. It will also raise SlackDataError if the userlist is malformed in any way.

Tests

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 pytest.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for slackperson, version 0.5.1
Filename, size File type Python version Upload date Hashes
Filename, size slackperson-0.5.1-py3-none-any.whl (7.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size slackperson-0.5.1.tar.gz (3.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page