snipt

Ctrl+h for KB shortcuts

Python

My Raspberry Pi speech Tweets!

import os, re, time
from twython import TwythonStreamer


# Search terms
TERMS = '#yes'

# Twitter application authentication
APP_KEY = ''
APP_SECRET = ''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''

# Setup callbacks from Twython Streamer
class BlinkyStreamer(TwythonStreamer):
        def on_success(self, data):
                if 'text' in data:
                        print data['text'].encode('utf-8')
			tweet = data['text'].encode('utf-8')
			tweetToSpeech = re.sub(r'\w+:\/{2}[\d\w-]+(\.[\d\w-]+)*(?:(?:\/[^\s/]*))*', '', tweet) # remove url
			os.system('espeak -ven+f2 "{0}" --stdout | aplay  2>/dev/null >/dev/null'.format(tweetToSpeech)) #speech this!

stream = BlinkyStreamer(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
stream.statuses.filter(track=TERMS)

Description

Read Tweets.
https://snipt.net/embed/0f3a36772b23f28a6569a13f4130c59b/
/raw/0f3a36772b23f28a6569a13f4130c59b/
0f3a36772b23f28a6569a13f4130c59b
python
Python
24
2019-07-18T00:48:06
True
False
False
/api/public/snipt/129809/
my-raspberry-pi-speech-tweets
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="kn">import</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">re</span><span class="o">,</span> <span class="nn">time</span> </span><span id="L-2"><a name="L-2"></a><span class="kn">from</span> <span class="nn">twython</span> <span class="kn">import</span> <span class="n">TwythonStreamer</span> </span><span id="L-3"><a name="L-3"></a> </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a><span class="c1"># Search terms</span> </span><span id="L-6"><a name="L-6"></a><span class="n">TERMS</span> <span class="o">=</span> <span class="s1">&#39;#yes&#39;</span> </span><span id="L-7"><a name="L-7"></a> </span><span id="L-8"><a name="L-8"></a><span class="c1"># Twitter application authentication</span> </span><span id="L-9"><a name="L-9"></a><span class="n">APP_KEY</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> </span><span id="L-10"><a name="L-10"></a><span class="n">APP_SECRET</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> </span><span id="L-11"><a name="L-11"></a><span class="n">OAUTH_TOKEN</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> </span><span id="L-12"><a name="L-12"></a><span class="n">OAUTH_TOKEN_SECRET</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> </span><span id="L-13"><a name="L-13"></a> </span><span id="L-14"><a name="L-14"></a><span class="c1"># Setup callbacks from Twython Streamer</span> </span><span id="L-15"><a name="L-15"></a><span class="k">class</span> <span class="nc">BlinkyStreamer</span><span class="p">(</span><span class="n">TwythonStreamer</span><span class="p">):</span> </span><span id="L-16"><a name="L-16"></a> <span class="k">def</span> <span class="nf">on_success</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span> </span><span id="L-17"><a name="L-17"></a> <span class="k">if</span> <span class="s1">&#39;text&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> </span><span id="L-18"><a name="L-18"></a> <span class="k">print</span> <span class="n">data</span><span class="p">[</span><span class="s1">&#39;text&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span> </span><span id="L-19"><a name="L-19"></a> <span class="n">tweet</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s1">&#39;text&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span> </span><span id="L-20"><a name="L-20"></a> <span class="n">tweetToSpeech</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">r&#39;\w+:\/{2}[\d\w-]+(\.[\d\w-]+)*(?:(?:\/[^\s/]*))*&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">tweet</span><span class="p">)</span> <span class="c1"># remove url</span> </span><span id="L-21"><a name="L-21"></a> <span class="n">os</span><span class="o">.</span><span class="n">system</span><span class="p">(</span><span class="s1">&#39;espeak -ven+f2 &quot;{0}&quot; --stdout | aplay 2&gt;/dev/null &gt;/dev/null&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">tweetToSpeech</span><span class="p">))</span> <span class="c1">#speech this!</span> </span><span id="L-22"><a name="L-22"></a> </span><span id="L-23"><a name="L-23"></a><span class="n">stream</span> <span class="o">=</span> <span class="n">BlinkyStreamer</span><span class="p">(</span><span class="n">APP_KEY</span><span class="p">,</span> <span class="n">APP_SECRET</span><span class="p">,</span> <span class="n">OAUTH_TOKEN</span><span class="p">,</span> <span class="n">OAUTH_TOKEN_SECRET</span><span class="p">)</span> </span><span id="L-24"><a name="L-24"></a><span class="n">stream</span><span class="o">.</span><span class="n">statuses</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">track</span><span class="o">=</span><span class="n">TERMS</span><span class="p">)</span> </span></pre></div> </td></tr></table>
"rasperry pi", linux, python, speech, text, twitter