Repository: slackapi/python-slackclient
Pull request #173 (2017-03-08 08:12:49)

include email as user property
* [X] I've read and understood the [Contributing guidelines](https://github.com/slackapi/python-slackclient/blob/master/.github/CONTRIBUTING.md) and have done my best effort to follow them.
* [X] I've read and agree to the [Code of Conduct](https://github.com/slackapi/python-slackclient/blob/master/CODE_OF_CONDUCT.md).
* [X] I've been mindful about doing atomic commits, adding documentation to my changes, not refactoring too much.
* [X] I've a descriptive title and added any useful information for the reviewer. Where appropriate, I've attached a screenshot and/or screencast (gif preferably).
* [X] I've written tests to cover the new code and functionality included in this PR.
* [X] I've read, agree to, and signed the [Contributor License Agreement (CLA)](https://docs.google.com/a/slack-corp.com/forms/d/1q_w8rlJG_x_xJOoSUMNl7R35rkpA7N6pUkKhfHHMD9c/viewform).


codecov[bot]: # [Codecov](https://codecov.io/gh/slackapi/python-slackclient/pull/173?src=pr&el=h1) Report
> Merging [#173](https://codecov.io/gh/slackapi/python-slackclient/pull/173?src=pr&el=desc) into [master](https://codecov.io/gh/slackapi/python-slackclient/commit/9d0ad91f1c4ab2272d813937858e0a9c21556845?src=pr&el=desc) will **increase** coverage by `0.02%`.
> The diff coverage is `85.71%`.


```diff
@@            Coverage Diff             @@
##           master     #173      +/-   ##
==========================================
+ Coverage   64.16%   64.18%   +0.02%     
==========================================
  Files           9        9              
  Lines         293      296       +3     
==========================================
+ Hits          188      190       +2     
- Misses        105      106       +1
```


| [Impacted Files](https://codecov.io/gh/slackapi/python-slackclient/pull/173?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [slackclient/_user.py](https://codecov.io/gh/slackapi/python-slackclient/compare/9d0ad91f1c4ab2272d813937858e0a9c21556845...de010ea1a87b0e2e8f06ee2b142e735ab7cb4850?src=pr&el=tree#diff-c2xhY2tjbGllbnQvX3VzZXIucHk=) | `68.18% <100%> (+1.51%)` | :white_check_mark: |
| [slackclient/_server.py](https://codecov.io/gh/slackapi/python-slackclient/compare/9d0ad91f1c4ab2272d813937858e0a9c21556845...de010ea1a87b0e2e8f06ee2b142e735ab7cb4850?src=pr&el=tree#diff-c2xhY2tjbGllbnQvX3NlcnZlci5weQ==) | `64.54% <80%> (-0.27%)` | :x: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/slackapi/python-slackclient/pull/173?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/slackapi/python-slackclient/pull/173?src=pr&el=footer). Last update [9d0ad91...de010ea](https://codecov.io/gh/slackapi/python-slackclient/compare/9d0ad91f1c4ab2272d813937858e0a9c21556845...de010ea1a87b0e2e8f06ee2b142e735ab7cb4850?el=footer&src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
acaire: @Roach, anything I can do to help move this along? :)

Patch:
diff --git a/docs-src/index.rst b/docs-src/index.rst
index b4fd058..d9d8948 100644
--- a/docs-src/index.rst
+++ b/docs-src/index.rst
@@ -21,9 +21,6 @@ of Python to get your project up and running as quickly as possible.
 Requirements and Installation
 ******************************
 
-|product_name| currently works with Python 2.7 (watch for Python 3 support in the future), and requires `PyPI` to install
-dependencies. Of course, since you probably installed this module with `PyPI`, this is not a problem.
-
 We recommend using `PyPI <https://pypi.python.org/pypi>`_ to install |product_name|
 
 .. code-block:: bash
diff --git a/docs/index.html b/docs/index.html
index 5b2de79..c4b2d05 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -141,8 +141,6 @@ service into your Slack workflows, Slack Developer Kit for Python allows you to
 of Python to get your project up and running as quickly as possible.</p>
 <div class="section" id="requirements-and-installation">
 <h2>Requirements and Installation<a class="headerlink" href="#requirements-and-installation" title="Permalink to this headline">¶</a></h2>
-<p>Slack Developer Kit for Python currently works with Python 2.7 (watch for Python 3 support in the future), and requires <cite>PyPI</cite> to install
-dependencies. Of course, since you probably installed this module with <cite>PyPI</cite>, this is not a problem.</p>
 <p>We recommend using <a class="reference external" href="https://pypi.python.org/pypi">PyPI</a> to install Slack Developer Kit for Python</p>
 <div class="highlight-bash"><div class="highlight"><pre><span></span>pip install slackclient
 </pre></div>
diff --git a/docs/searchindex.js b/docs/searchindex.js
index af325a7..88fad49 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1,1 +1,1 @@
-Search.setIndex({docnames:["about","auth","basic_usage","changelog","conversations","faq","index","metadata","real_time_messaging"],envversion:52,filenames:["about.rst","auth.rst","basic_usage.rst","changelog.rst","conversations.rst","faq.rst","index.rst","metadata.rst","real_time_messaging.rst"],objects:{},objnames:{},objtypes:{},terms:{"0cb4bcd6e887b428e27e8059b6278b86ee661aaa":3,"1046cc2375a85a22e94573e2aad954ba7287c886":3,"7d01515cebc80918a29100b0e4793790eb83e7b9":3,"boolean":2,"break":[3,5],"case":5,"default":[2,3,4,8],"function":3,"import":[1,2,3,4,8],"new":[2,4,5],"public":1,"return":[1,2,3,4,8],"super":5,"switch":3,"true":[2,4,8],"try":1,"while":[2,5,8],Added:3,But:5,DMs:[],For:[1,2],IDs:4,IMs:2,One:[1,2],The:[2,4,6,8],Then:1,There:[2,5],These:1,Use:[4,6],__eq__:3,__name__:1,abc:1,abil:3,abl:1,about:[2,3,5],abov:1,accept:1,access:[0,1,3,4,5],access_token:1,accid:[2,4],action:[1,3],actual:2,add:[1,2,3,5],added:[3,5],adding:5,addit:[1,2,4],agre:1,agreement:0,aim:5,all:[2,4,5],allow:[2,3,6,8],alreadi:[2,4],already_in_channel:2,also:[2,8],although:5,alwai:[5,6],ambiti:5,ani:2,anoth:2,anticip:5,api:[0,1,2,3,5],api_cal:[1,2,3,4],app:[0,1,2,4,5,6,8],appear:2,applic:[1,2],appropri:5,approv:1,archiv:2,arg:[1,3],argument:8,around:5,articl:2,assign:2,assist:6,attach:[2,8],attribut:2,auth:[1,3],auth_cod:1,auth_respons:1,authent:[2,3,8],author:1,authorship:2,avail:[1,2,8],avoid:1,back:8,bad:3,base:[4,8],basic:[5,8],becom:2,befor:3,begin:[1,4],begin_auth:1,behalf:1,below:2,best:[1,2,6,8],between:2,bite:5,bond:6,bot:[1,2,5],bot_access_token:1,both:2,box:2,breath:5,broadcast:[2,8],bug:[3,6],build:[0,2,5,6],busi:[2,4],button:[1,2],c024be91l:8,c0xxxxxx:[2,4],c0xxxxxxx:[2,4],c0xxxxxxy:2,cach:3,call:[1,2,3,4,8],can:[1,2,5,6,8],cannot:2,caus:3,cclauss:3,chang:[2,3],changelog:5,channel:[3,6,8],channnel:3,chat:2,check:2,clean:3,client:[1,8],client_id:1,client_secret:1,clone:6,code:[0,1,3,5,6,8],com:[0,1,2,3,4,5,6,7,8],combin:2,command:1,comment:2,commit:[1,3],commonli:[2,5],comparison:3,compat:3,complet:[1,2,5,8],complex:[2,8],concret:5,conduct:0,config:1,configur:3,connect:3,consider:2,contain:[1,2],content:5,context:[1,2],continu:5,contribut:0,contributor:[0,3,5],convers:2,copyright:3,could:[1,5],counter:3,coupl:[3,5],cours:6,coverag:5,creat:3,createchild:3,credenti:1,current:6,custom:[1,6],d024be91l:8,d45285d2f1025899dcd65e259624ee73771f94bb:3,dai:5,databas:1,decod:3,deep:5,def:1,defin:1,demonstr:5,depend:[1,4,6],descend:2,descript:8,design:2,detail:8,dev4slack:6,develop:[1,2,3,4,7,8],differ:[1,2],direct:[1,2,8],directli:[2,6],discuss:5,doc:[3,4,5,8],document:[1,3],doe:[5,8],doesn:3,doing:6,don:[1,5],done:[1,5],down:6,duplic:3,dure:1,easier:2,edit:5,els:8,empti:1,encod:3,encount:4,endpoint:[1,2],ensur:5,environ:[1,2,4,5,8],environment:1,ephemer:2,error:[3,8],event:5,exact:4,exampl:[1,2],excel:5,except:2,exchang:2,excit:[2,5],exclud:2,exclude_archiv:2,exist:4,expect:[5,8],experi:1,expir:[3,8],explicitli:1,f7bb8889580cc34471ba1ddc05afc34d1a5efa23:3,fail:[3,8],fals:[2,8],featur:6,feedback:5,feel:5,fellow:6,fetch:2,few:1,file:[2,3,5],file_com:2,find:2,finish:[2,4],finish_auth:1,first:[5,8],fix:[2,3,5],flask:1,flexibl:6,folder:5,follow:[5,6],forget:[1,5],fork:2,format:[1,2,3,8],from:[0,1,2,3,4,5,8],full:2,fun:2,futur:[5,6],gain:1,gener:[1,5,6],german:2,get:[1,3],git:6,github:[1,3,6],given:5,global:1,good:5,grant:1,great:5,greater:2,group:[2,3,4,8],guidelin:[3,5],had:[2,4],hand:5,handl:[2,8],hard:6,hardcod:1,has:[1,4,8],have:[2,5],hello:[2,8],help:5,here:[1,2,5,6],hop:2,how:[2,4],href:1,http:[1,3,6,8],hub:2,ids:1,implement:[1,6],importantli:5,improv:3,includ:[1,2,4,5,8],incom:1,incorpor:5,increas:5,index:3,indic:2,info:[3,4,8],inform:[1,2,8],initi:[1,4,8],insid:5,instead:[1,2,3,8],integr:[2,3,6],intend:1,interact:2,interfac:4,intern:3,introduc:3,invit:2,is_priv:4,issu:[3,5,6],item:[2,5],its:[3,5],itself:2,join:[3,4],json:[1,3,8],just:[2,4,5,6],keep:1,kei:1,kelvintaywl:3,kind:[1,2],kit:[1,2,3,4,7,8],know:[1,5],larg:[3,8],later:1,let:[0,1,2,5],level:1,leverag:6,licens:[0,3],lighter:8,like:[2,4,8],limit:2,linear:2,link:[1,3],list:[3,8],load:3,local:3,log:1,look:5,love:5,mai:[2,3,4],maintain:0,make:[1,2,5],mani:5,mayb:[2,4],mean:2,mechan:5,mention:1,messag:3,method:[1,2,4,8],might:2,mode:8,modul:6,modular:2,more:[2,4,5,8],most:[2,8],move:3,mpdm:3,mpim:[3,4],msg:8,much:5,must:2,myapp:1,myprivatechannel:4,name:[2,3,4],nearli:2,need:[1,2,5,8],nefari:1,never:1,newest:4,node:1,non:3,note:[2,4,5],now:3,oauth_scop:1,object:[2,3],off:2,onc:[1,2],one:[1,2,4,5],onli:[2,4,8],open:[3,4],opensourc:[0,1,2,3,4,5,6,7,8],option:[2,8],order:1,origin:2,other:[5,8],our:[1,4,5,6],out:2,over:[3,8],own:2,packag:[2,3],page:[1,2],param:1,paramet:[2,4],parent:[2,3],part:5,parti:6,particularli:5,pass:[1,2,4,8],payload:8,peopl:2,pep:3,perform:1,permiss:1,persist:1,ping:3,pip:6,place:4,platform:[0,5],pleas:[1,5],point:[2,3],poop:5,possibl:[1,6],post:[1,2,8],post_instal:1,postephemer:2,postmessag:2,practic:[2,8],pre_instal:1,prefer:[6,8],prevent:3,primari:2,print:8,prior:1,privat:[1,3,8],private_channel:4,probabl:6,problem:[6,8],program:5,progress:4,project:[5,6],proper:1,properli:3,propos:5,proudli:0,provid:[1,2,4,5,8],proxi:3,public_channel:4,publish:1,pull:[1,5,6],purpos:2,push:8,pypi:6,python:[1,2,3,4,7,8],queri:1,quickli:[2,6],rather:[1,3,5,8],read:[1,2],readi:1,readm:3,rebuild:5,receiv:8,recommend:[1,5,6,8],redirect:1,refer:2,reflect:2,refus:1,regular:2,releg:2,remov:3,replac:1,repli:[3,8],reply_broadcast:[2,8],report:6,repositori:1,request:[1,2,3,4,5,6,8],requir:[1,2,3],respond:2,respons:[1,2],restructuredtext:5,result:3,resum:4,retriev:1,review:[1,2],rout:1,rst:[3,5],rtm:[3,5],rtm_connect:8,rtm_read:8,rtm_send_messag:[3,8],run:[5,6],runtim:1,safe:1,sai:2,same:[1,2,4,8],sampl:5,save:1,schlueter:3,scope:[1,2],search:3,secret:1,section:[1,2,5],see:[1,2,4,8],semver:3,send_messag:3,separ:8,server:[1,3],servic:6,set:[1,2,3,4,8],share:[1,4],should:1,show:2,sign:1,simpler:2,simpli:[2,8],sinc:[1,6],slack:[1,2,3,4,7,8],slack_api_token:[2,4,8],slack_bot_scop:1,slack_bot_token:1,slack_client_id:1,slack_client_secret:1,slack_token:[2,4,8],slack_user_token:1,slackapi:[0,1,2,3,4,5,6,7,8],slackclient:[0,1,2,3,4,5,6,7,8],slash:1,sleep:8,slightli:2,social:2,socket:8,some:[2,3],someth:5,sometim:2,sourc:6,special:2,specif:[1,2],specifi:2,sphinx:5,src:5,start:[1,2,5],state:2,statu:2,step:5,store:1,string:[1,3,4],stuck:6,submit:5,subsequ:4,succeed:1,success:1,successfulli:8,support:[3,5,6,8],sure:[2,5],tada:2,take:5,team:[0,1,3,6,8],techniqu:1,test:[3,5,8],tester:1,text:[2,8],than:[2,3,8],thank:3,thei:[2,3,5],them:[1,2],thi:[1,2,4,5,6,8],thing:[2,4,5,6],think:5,third:6,those:2,thought:5,thread:[3,8],thread_t:2,through:6,thumbsup:2,tidi:3,timelin:2,timeout:3,timestamp:2,timfeirg:3,togeth:2,token:[2,3,4,8],tool:0,top:1,total:5,tox:[3,5],tracker:[5,6],travi:3,two:[1,5],txt:6,type:[4,8],typo:[2,3],u023becgf:8,u0xxxxxxx:2,u2345678901:4,u3456789012:4,unifi:4,uniqu:2,unit:5,unus:3,updat:[3,5],upon:1,url:[1,3,8],urllib:3,usag:[1,8],use:[1,2,3,5],used:[1,2,8],user:[1,2,3,4,5,8],using:[1,3,5,6,8],valid:1,variabl:1,varieti:1,verif:1,version:3,virtualenv:5,visibl:2,visit:6,vote:2,w1234567890:4,wai:[1,2,6,8],wait:5,want:[1,2,5],watch:6,web:[0,1,2,5,8],webhook:1,websocket:[3,8],welcom:8,well:[1,5],what:[1,2,4],when:[1,2,3],where:[1,3],whether:[2,6],which:[1,2],with_team_st:8,within:[1,5],without:8,won:2,word:2,work:[2,3,4,5,6],workflow:6,workspac:4,world:1,wrapper:[2,5],write:5,written:5,xoxb:1,yield:1,you:[0,1,2,4,5,6,8],your:[0,1,2,4,5,6,8],yourself:5},titles:["About","Tokens &amp; Authentication","Basic Usage","Changelog","Conversations API","Frequently Asked Questions","Slack Developer Kit for Python","&lt;no title&gt;","Real Time Messaging"],titleterms:{"public":4,Adding:2,The:1,about:[0,4],api:[4,8],ask:5,authent:1,basic:2,bug:5,care:5,changelog:3,channel:[2,4],compil:5,connect:8,content:2,contribut:5,convers:4,creat:[2,4],data:1,delet:2,develop:[0,5,6],direct:4,document:5,emoji:2,even:5,event:8,featur:5,flow:1,found:5,frequent:5,get:[2,4,6],handl:1,hei:5,help:6,how:5,info:2,inform:4,instal:6,join:2,kit:[0,5,6],leav:[2,4],like:5,list:[2,4],member:[2,4],messag:[2,4,8],miss:5,multi:4,oauth:1,omg:5,other:1,person:4,privat:4,python:[0,5,6],question:5,reaction:2,real:8,remov:2,repli:2,requir:6,rtm:8,send:[2,8],sensit:1,should:5,slack:[0,5,6],start:8,team:2,test:1,thread:2,time:8,token:1,updat:2,usag:2,via:8,what:5,why:5}})
\ No newline at end of file
+Search.setIndex({docnames:["about","auth","basic_usage","changelog","conversations","faq","index","metadata","real_time_messaging"],envversion:52,filenames:["about.rst","auth.rst","basic_usage.rst","changelog.rst","conversations.rst","faq.rst","index.rst","metadata.rst","real_time_messaging.rst"],objects:{},objnames:{},objtypes:{},terms:{"0cb4bcd6e887b428e27e8059b6278b86ee661aaa":3,"1046cc2375a85a22e94573e2aad954ba7287c886":3,"7d01515cebc80918a29100b0e4793790eb83e7b9":3,"boolean":2,"break":[3,5],"case":5,"default":[2,3,4,8],"function":3,"import":[1,2,3,4,8],"new":[2,4,5],"public":1,"return":[1,2,3,4,8],"super":5,"switch":3,"true":[2,4,8],"try":1,"while":[2,5,8],Added:3,But:5,DMs:[],For:[1,2],IDs:4,IMs:2,One:[1,2],The:[2,4,6,8],Then:1,There:[2,5],These:1,Use:[4,6],__eq__:3,__name__:1,abc:1,abil:3,abl:1,about:[2,3,5],abov:1,accept:1,access:[0,1,3,4,5],access_token:1,accid:[2,4],action:[1,3],actual:2,add:[1,2,3,5],added:[3,5],adding:5,addit:[1,2,4],agre:1,agreement:0,aim:5,all:[2,4,5],allow:[2,3,6,8],alreadi:[2,4],already_in_channel:2,also:[2,8],although:5,alwai:[5,6],ambiti:5,ani:2,anoth:2,anticip:5,api:[0,1,2,3,5],api_cal:[1,2,3,4],app:[0,1,2,4,5,6,8],appear:2,applic:[1,2],appropri:5,approv:1,archiv:2,arg:[1,3],argument:8,around:5,articl:2,assign:2,assist:6,attach:[2,8],attribut:2,auth:[1,3],auth_cod:1,auth_respons:1,authent:[2,3,8],author:1,authorship:2,avail:[1,2,8],avoid:1,back:8,bad:3,base:[4,8],basic:[5,8],becom:2,befor:3,begin:[1,4],begin_auth:1,behalf:1,below:2,best:[1,2,6,8],between:2,bite:5,bond:6,bot:[1,2,5],bot_access_token:1,both:2,box:2,breath:5,broadcast:[2,8],bug:[3,6],build:[0,2,5,6],busi:[2,4],button:[1,2],c024be91l:8,c0xxxxxx:[2,4],c0xxxxxxx:[2,4],c0xxxxxxy:2,cach:3,call:[1,2,3,4,8],can:[1,2,5,6,8],cannot:2,caus:3,cclauss:3,chang:[2,3],changelog:5,channel:[3,6,8],channnel:3,chat:2,check:2,clean:3,client:[1,8],client_id:1,client_secret:1,clone:6,code:[0,1,3,5,6,8],com:[0,1,2,3,4,5,6,7,8],combin:2,command:1,comment:2,commit:[1,3],commonli:[2,5],comparison:3,compat:3,complet:[1,2,5,8],complex:[2,8],concret:5,conduct:0,config:1,configur:3,connect:3,consider:2,contain:[1,2],content:5,context:[1,2],continu:5,contribut:0,contributor:[0,3,5],convers:2,copyright:3,could:[1,5],counter:3,coupl:[3,5],cours:6,coverag:5,creat:3,createchild:3,credenti:1,current:[],custom:[1,6],d024be91l:8,d45285d2f1025899dcd65e259624ee73771f94bb:3,dai:5,databas:1,decod:3,deep:5,def:1,defin:1,demonstr:5,depend:[1,4],descend:2,descript:8,design:2,detail:8,dev4slack:6,develop:[1,2,3,4,7,8],differ:[1,2],direct:[1,2,8],directli:[2,6],discuss:5,doc:[3,4,5,8],document:[1,3],doe:[5,8],doesn:3,doing:6,don:[1,5],done:[1,5],down:6,duplic:3,dure:1,easier:2,edit:5,els:8,empti:1,encod:3,encount:4,endpoint:[1,2],ensur:5,environ:[1,2,4,5,8],environment:1,ephemer:2,error:[3,8],event:5,exact:4,exampl:[1,2],excel:5,except:2,exchang:2,excit:[2,5],exclud:2,exclude_archiv:2,exist:4,expect:[5,8],experi:1,expir:[3,8],explicitli:1,f7bb8889580cc34471ba1ddc05afc34d1a5efa23:3,fail:[3,8],fals:[2,8],featur:6,feedback:5,feel:5,fellow:6,fetch:2,few:1,file:[2,3,5],file_com:2,find:2,finish:[2,4],finish_auth:1,first:[5,8],fix:[2,3,5],flask:1,flexibl:6,folder:5,follow:[5,6],forget:[1,5],fork:2,format:[1,2,3,8],from:[0,1,2,3,4,5,8],full:2,fun:2,futur:5,gain:1,gener:[1,5,6],german:2,get:[1,3],git:6,github:[1,3,6],given:5,global:1,good:5,grant:1,great:5,greater:2,group:[2,3,4,8],guidelin:[3,5],had:[2,4],hand:5,handl:[2,8],hard:6,hardcod:1,has:[1,4,8],have:[2,5],hello:[2,8],help:5,here:[1,2,5,6],hop:2,how:[2,4],href:1,http:[1,3,6,8],hub:2,ids:1,implement:[1,6],importantli:5,improv:3,includ:[1,2,4,5,8],incom:1,incorpor:5,increas:5,index:3,indic:2,info:[3,4,8],inform:[1,2,8],initi:[1,4,8],insid:5,instead:[1,2,3,8],integr:[2,3,6],intend:1,interact:2,interfac:4,intern:3,introduc:3,invit:2,is_priv:4,issu:[3,5,6],item:[2,5],its:[3,5],itself:2,join:[3,4],json:[1,3,8],just:[2,4,5,6],keep:1,kei:1,kelvintaywl:3,kind:[1,2],kit:[1,2,3,4,7,8],know:[1,5],larg:[3,8],later:1,let:[0,1,2,5],level:1,leverag:6,licens:[0,3],lighter:8,like:[2,4,8],limit:2,linear:2,link:[1,3],list:[3,8],load:3,local:3,log:1,look:5,love:5,mai:[2,3,4],maintain:0,make:[1,2,5],mani:5,mayb:[2,4],mean:2,mechan:5,mention:1,messag:3,method:[1,2,4,8],might:2,mode:8,modul:[],modular:2,more:[2,4,5,8],most:[2,8],move:3,mpdm:3,mpim:[3,4],msg:8,much:5,must:2,myapp:1,myprivatechannel:4,name:[2,3,4],nearli:2,need:[1,2,5,8],nefari:1,never:1,newest:4,node:1,non:3,note:[2,4,5],now:3,oauth_scop:1,object:[2,3],off:2,onc:[1,2],one:[1,2,4,5],onli:[2,4,8],open:[3,4],opensourc:[0,1,2,3,4,5,6,7,8],option:[2,8],order:1,origin:2,other:[5,8],our:[1,4,5,6],out:2,over:[3,8],own:2,packag:[2,3],page:[1,2],param:1,paramet:[2,4],parent:[2,3],part:5,parti:6,particularli:5,pass:[1,2,4,8],payload:8,peopl:2,pep:3,perform:1,permiss:1,persist:1,ping:3,pip:6,place:4,platform:[0,5],pleas:[1,5],point:[2,3],poop:5,possibl:[1,6],post:[1,2,8],post_instal:1,postephemer:2,postmessag:2,practic:[2,8],pre_instal:1,prefer:[6,8],prevent:3,primari:2,print:8,prior:1,privat:[1,3,8],private_channel:4,probabl:[],problem:8,program:5,progress:4,project:[5,6],proper:1,properli:3,propos:5,proudli:0,provid:[1,2,4,5,8],proxi:3,public_channel:4,publish:1,pull:[1,5,6],purpos:2,push:8,pypi:6,python:[1,2,3,4,7,8],queri:1,quickli:[2,6],rather:[1,3,5,8],read:[1,2],readi:1,readm:3,rebuild:5,receiv:8,recommend:[1,5,6,8],redirect:1,refer:2,reflect:2,refus:1,regular:2,releg:2,remov:3,replac:1,repli:[3,8],reply_broadcast:[2,8],report:6,repositori:1,request:[1,2,3,4,5,6,8],requir:[1,2,3],respond:2,respons:[1,2],restructuredtext:5,result:3,resum:4,retriev:1,review:[1,2],rout:1,rst:[3,5],rtm:[3,5],rtm_connect:8,rtm_read:8,rtm_send_messag:[3,8],run:[5,6],runtim:1,safe:1,sai:2,same:[1,2,4,8],sampl:5,save:1,schlueter:3,scope:[1,2],search:3,secret:1,section:[1,2,5],see:[1,2,4,8],semver:3,send_messag:3,separ:8,server:[1,3],servic:6,set:[1,2,3,4,8],share:[1,4],should:1,show:2,sign:1,simpler:2,simpli:[2,8],sinc:1,slack:[1,2,3,4,7,8],slack_api_token:[2,4,8],slack_bot_scop:1,slack_bot_token:1,slack_client_id:1,slack_client_secret:1,slack_token:[2,4,8],slack_user_token:1,slackapi:[0,1,2,3,4,5,6,7,8],slackclient:[0,1,2,3,4,5,6,7,8],slash:1,sleep:8,slightli:2,social:2,socket:8,some:[2,3],someth:5,sometim:2,sourc:6,special:2,specif:[1,2],specifi:2,sphinx:5,src:5,start:[1,2,5],state:2,statu:2,step:5,store:1,string:[1,3,4],stuck:6,submit:5,subsequ:4,succeed:1,success:1,successfulli:8,support:[3,5,8],sure:[2,5],tada:2,take:5,team:[0,1,3,6,8],techniqu:1,test:[3,5,8],tester:1,text:[2,8],than:[2,3,8],thank:3,thei:[2,3,5],them:[1,2],thi:[1,2,4,5,8],thing:[2,4,5,6],think:5,third:6,those:2,thought:5,thread:[3,8],thread_t:2,through:6,thumbsup:2,tidi:3,timelin:2,timeout:3,timestamp:2,timfeirg:3,togeth:2,token:[2,3,4,8],tool:0,top:1,total:5,tox:[3,5],tracker:[5,6],travi:3,two:[1,5],txt:6,type:[4,8],typo:[2,3],u023becgf:8,u0xxxxxxx:2,u2345678901:4,u3456789012:4,unifi:4,uniqu:2,unit:5,unus:3,updat:[3,5],upon:1,url:[1,3,8],urllib:3,usag:[1,8],use:[1,2,3,5],used:[1,2,8],user:[1,2,3,4,5,8],using:[1,3,5,6,8],valid:1,variabl:1,varieti:1,verif:1,version:3,virtualenv:5,visibl:2,visit:6,vote:2,w1234567890:4,wai:[1,2,6,8],wait:5,want:[1,2,5],watch:[],web:[0,1,2,5,8],webhook:1,websocket:[3,8],welcom:8,well:[1,5],what:[1,2,4],when:[1,2,3],where:[1,3],whether:[2,6],which:[1,2],with_team_st:8,within:[1,5],without:8,won:2,word:2,work:[2,3,4,5,6],workflow:6,workspac:4,world:1,wrapper:[2,5],write:5,written:5,xoxb:1,yield:1,you:[0,1,2,4,5,6,8],your:[0,1,2,4,5,6,8],yourself:5},titles:["About","Tokens &amp; Authentication","Basic Usage","Changelog","Conversations API","Frequently Asked Questions","Slack Developer Kit for Python","&lt;no title&gt;","Real Time Messaging"],titleterms:{"public":4,Adding:2,The:1,about:[0,4],api:[4,8],ask:5,authent:1,basic:2,bug:5,care:5,changelog:3,channel:[2,4],compil:5,connect:8,content:2,contribut:5,convers:4,creat:[2,4],data:1,delet:2,develop:[0,5,6],direct:4,document:5,emoji:2,even:5,event:8,featur:5,flow:1,found:5,frequent:5,get:[2,4,6],handl:1,hei:5,help:6,how:5,info:2,inform:4,instal:6,join:2,kit:[0,5,6],leav:[2,4],like:5,list:[2,4],member:[2,4],messag:[2,4,8],miss:5,multi:4,oauth:1,omg:5,other:1,person:4,privat:4,python:[0,5,6],question:5,reaction:2,real:8,remov:2,repli:2,requir:6,rtm:8,send:[2,8],sensit:1,should:5,slack:[0,5,6],start:8,team:2,test:1,thread:2,time:8,token:1,updat:2,usag:2,via:8,what:5,why:5}})
\ No newline at end of file
diff --git a/slackclient/server.py b/slackclient/server.py
index f6b1056..2a39afd 100644
--- a/slackclient/server.py
+++ b/slackclient/server.py
@@ -130,7 +130,13 @@ class Server(object):
                 user["tz"] = "unknown"
             if "real_name" not in user:
                 user["real_name"] = user["name"]
-            self.attach_user(user["name"], user["id"], user["real_name"], user["tz"])
+            if "email" not in user["profile"]:
+                user["profile"]["email"] = ""
+            self.attach_user(user["name"],
+                             user["id"],
+                             user["real_name"],
+                             user["tz"],
+                             user["profile"]["email"])
 
     def send_to_websocket(self, data):
         """
@@ -196,8 +202,8 @@ class Server(object):
                 raise
             return data.rstrip()
 
-    def attach_user(self, name, user_id, real_name, tz):
-        self.users.update({user_id: User(self, name, user_id, real_name, tz)})
+    def attach_user(self, name, user_id, real_name, tz, email):
+        self.users.update({user_id: User(self, name, user_id, real_name, tz, email)})
 
     def attach_channel(self, name, channel_id, members=None):
         if members is None:
diff --git a/slackclient/user.py b/slackclient/user.py
index 274bddb..1730b96 100644
--- a/slackclient/user.py
+++ b/slackclient/user.py
@@ -1,10 +1,11 @@
 class User(object):
-    def __init__(self, server, name, user_id, real_name, tz):
+    def __init__(self, server, name, user_id, real_name, tz, email):
         self.tz = tz
         self.name = name
         self.real_name = real_name
         self.server = server
         self.id = user_id
+        self.email = email
 
     def __eq__(self, compare_str):
         if compare_str in (self.id, self.name):


Test patch:
diff --git a/tests/test_server.py b/tests/test_server.py
index 8ce59c7..496924c 100644
--- a/tests/test_server.py
+++ b/tests/test_server.py
@@ -42,6 +42,7 @@ def test_server_parse_user_data(server, rtm_start_fixture):
     userbyid = server.users.find('U10CX1234')
     assert type(userbyid) == User
     assert userbyid == "fakeuser"
+    assert userbyid.email == 'fakeuser@example.com'
     # Don't find invalid user
     userbyid = server.users.find('invaliduser')
     assert type(userbyid) != User