Skip to content

Commit 8e8f0ba

Browse files
authored
Added rtm.connect support and fixed rtm_send_message (#215)
* Added rtm.connect support * updated docs * updated gitignore * Uncommented lines which were accidentally left commented * Updated docs * Removed ignored doc source files * Fixed typo in method docs * fixed line length * updated rim start tests * regenerated docs * Moved rtm_send_message from channel into client, removed dependance on channel object * Fixed rtm_send_message * Added missing newline * Removed duplicate line * Changed to for accuracy * Fixed channel send_message tests * Removed extra line to appease flake8 * New and improved client.send_rtm_message * Fixed rtm_send_message, again...
1 parent d83bb74 commit 8e8f0ba

File tree

10 files changed

+109
-39
lines changed

10 files changed

+109
-39
lines changed

docs-src/real_time_messaging.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,32 @@ If there was a problem connecting an error will be returned, including a descrip
4747
}
4848
}
4949

50+
rtm.start vs rtm.connect
51+
---------------------------
52+
53+
If you expect your app to be used on large teams, we recommend starting the RTM client with `rtm.connect` rather than the default connection method for this client, `rtm.start`.
54+
`rtm.connect` provides a lighter initial connection payload, without the team's channel and user information included. You'll need to request channel and user info via
55+
the Web API separately.
56+
57+
To do this, simply pass `with_team_state=False` into the `rtm_connect` call, like so:
58+
::
59+
60+
from slackclient import SlackClient
61+
62+
slack_token = os.environ["SLACK_API_TOKEN"]
63+
sc = SlackClient(slack_token)
64+
65+
if sc.rtm_connect(with_team_state=False):
66+
while True:
67+
print sc.rtm_read()
68+
time.sleep(1)
69+
else:
70+
print "Connection Failed"
71+
72+
73+
See the `rtm.start docs <https://api.slack.com/methods/rtm.start>`_ and the `rtm.connect docs<https://api.slack.com/methods/rtm.connect>`_
74+
for more details.
75+
5076

5177
RTM Events
5278
-------------

docs/genindex.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
</li>
6767
<li class="toctree-l1"><a class="reference internal" href="real_time_messaging.html">Real Time Messaging</a><ul>
6868
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#connecting-to-the-real-time-messaging-api">Connecting to the Real Time Messaging API</a></li>
69+
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#rtm-start-vs-rtm-connect">rtm.start vs rtm.connect</a></li>
6970
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#rtm-events">RTM Events</a></li>
7071
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#sending-messages-via-the-rtm-api">Sending messages via the RTM API</a></li>
7172
</ul>

docs/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
</li>
6666
<li class="toctree-l1"><a class="reference internal" href="real_time_messaging.html">Real Time Messaging</a><ul>
6767
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#connecting-to-the-real-time-messaging-api">Connecting to the Real Time Messaging API</a></li>
68+
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#rtm-start-vs-rtm-connect">rtm.start vs rtm.connect</a></li>
6869
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#rtm-events">RTM Events</a></li>
6970
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#sending-messages-via-the-rtm-api">Sending messages via the RTM API</a></li>
7071
</ul>

docs/real_time_messaging.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
</li>
6666
<li class="toctree-l1 current"><a class="current reference internal" href="#">Real Time Messaging</a><ul>
6767
<li class="toctree-l2"><a class="reference internal" href="#connecting-to-the-real-time-messaging-api">Connecting to the Real Time Messaging API</a></li>
68+
<li class="toctree-l2"><a class="reference internal" href="#rtm-start-vs-rtm-connect">rtm.start vs rtm.connect</a></li>
6869
<li class="toctree-l2"><a class="reference internal" href="#rtm-events">RTM Events</a></li>
6970
<li class="toctree-l2"><a class="reference internal" href="#sending-messages-via-the-rtm-api">Sending messages via the RTM API</a></li>
7071
</ul>
@@ -159,6 +160,28 @@ <h2>Connecting to the Real Time Messaging API<a class="headerlink" href="#connec
159160
</pre></div>
160161
</div>
161162
</div>
163+
<div class="section" id="rtm-start-vs-rtm-connect">
164+
<h2>rtm.start vs rtm.connect<a class="headerlink" href="#rtm-start-vs-rtm-connect" title="Permalink to this headline"></a></h2>
165+
<p>If you expect your app to be used on large teams, we recommend starting the RTM client with <cite>rtm.connect</cite> rather than the default connection method for this client, <cite>rtm.start</cite>.
166+
<cite>rtm.connect</cite> provides a lighter initial connection payload, without the team’s channel and user information included. You’ll need to request channel and user info via
167+
the Web API separately.</p>
168+
<p>To do this, simply pass <cite>with_team_state=False</cite> into the <cite>rtm_connect</cite> call, like so:</p>
169+
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">slackclient</span> <span class="kn">import</span> <span class="n">SlackClient</span>
170+
171+
<span class="n">slack_token</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">&quot;SLACK_API_TOKEN&quot;</span><span class="p">]</span>
172+
<span class="n">sc</span> <span class="o">=</span> <span class="n">SlackClient</span><span class="p">(</span><span class="n">slack_token</span><span class="p">)</span>
173+
174+
<span class="k">if</span> <span class="n">sc</span><span class="o">.</span><span class="n">rtm_connect</span><span class="p">(</span><span class="n">with_team_state</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
175+
<span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
176+
<span class="k">print</span> <span class="n">sc</span><span class="o">.</span><span class="n">rtm_read</span><span class="p">()</span>
177+
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
178+
<span class="k">else</span><span class="p">:</span>
179+
<span class="k">print</span> <span class="s2">&quot;Connection Failed&quot;</span>
180+
</pre></div>
181+
</div>
182+
<p>See the <a class="reference external" href="https://api.slack.com/methods/rtm.start">rtm.start docs</a> and the <a href="#id3"><span class="problematic" id="id4">`rtm.connect docs&lt;https://api.slack.com/methods/rtm.connect&gt;`_</span></a>
183+
for more details.</p>
184+
</div>
162185
<div class="section" id="rtm-events">
163186
<h2>RTM Events<a class="headerlink" href="#rtm-events" title="Permalink to this headline"></a></h2>
164187
<div class="highlight-python"><div class="highlight"><pre><span></span><span class="p">{</span>

docs/search.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
</li>
6666
<li class="toctree-l1"><a class="reference internal" href="real_time_messaging.html">Real Time Messaging</a><ul>
6767
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#connecting-to-the-real-time-messaging-api">Connecting to the Real Time Messaging API</a></li>
68+
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#rtm-start-vs-rtm-connect">rtm.start vs rtm.connect</a></li>
6869
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#rtm-events">RTM Events</a></li>
6970
<li class="toctree-l2"><a class="reference internal" href="real_time_messaging.html#sending-messages-via-the-rtm-api">Sending messages via the RTM API</a></li>
7071
</ul>

0 commit comments

Comments
 (0)