2017-06-05 22:29:31 +02:00
|
|
|
|
See Twitter search results in Zulip! This is great for seeing and
|
|
|
|
|
discussing who is talking about you, friends, competitors, or
|
|
|
|
|
important topics in real time.
|
|
|
|
|
|
2017-06-22 02:50:45 +02:00
|
|
|
|
{!create-stream.md!}
|
2017-06-05 22:29:31 +02:00
|
|
|
|
|
2017-06-22 02:50:45 +02:00
|
|
|
|
{!download-python-bindings.md!}
|
|
|
|
|
|
|
|
|
|
This bot should be set up on a trusted machine, because your API
|
|
|
|
|
key is visible to local users through the command line or config
|
|
|
|
|
file.
|
2017-06-05 22:29:31 +02:00
|
|
|
|
|
|
|
|
|
Next, install **version 1.0 or later** of the `twitter-python`
|
|
|
|
|
library. If your operating system distribution doesn’t package a new
|
|
|
|
|
enough version, you can install the library from source from
|
|
|
|
|
[the GitHub repository](https://github.com/bear/python-twitter).
|
|
|
|
|
|
|
|
|
|
Next, set up Twitter authentication. This bot uses OAuth to
|
|
|
|
|
authenticate with Twitter, and in order to obtain a consumer key &
|
|
|
|
|
secret, you must register a new application under your Twitter
|
|
|
|
|
account:
|
|
|
|
|
|
|
|
|
|
1. Log in to <http://dev.twitter.com>.
|
2017-06-22 02:50:45 +02:00
|
|
|
|
|
2017-06-05 22:29:31 +02:00
|
|
|
|
2. In the menu under your username, click
|
2017-06-22 02:50:45 +02:00
|
|
|
|
[My Applications](https://dev.twitter.com/apps). From this page,
|
|
|
|
|
create a new application.
|
|
|
|
|
|
|
|
|
|
3. Click on the application you created and click **create my access
|
|
|
|
|
token**. Fill in the requested values.
|
2017-06-05 22:29:31 +02:00
|
|
|
|
|
|
|
|
|
To configure and deploy this bot:
|
|
|
|
|
|
|
|
|
|
1. Create a `~/.zulip_twitterrc` with the following contents:
|
|
|
|
|
|
|
|
|
|
[twitter]
|
|
|
|
|
consumer_key =
|
|
|
|
|
consumer_secret =
|
|
|
|
|
access_token_key =
|
|
|
|
|
access_token_secret =
|
|
|
|
|
|
|
|
|
|
2. Test the script by running it manually:
|
|
|
|
|
|
|
|
|
|
/usr/local/share/zulip/integrations/twitter/twitter-search-bot --search="@nprnews,quantum
|
|
|
|
|
physics" --site={{ external_api_uri_subdomain }}
|
|
|
|
|
|
|
|
|
|
Note: `twitter-search-bot` may install to a different location on
|
|
|
|
|
your operating system distribution.
|
|
|
|
|
|
|
|
|
|
3. Configure a crontab entry for this script. A sample crontab entry
|
2017-06-22 02:50:45 +02:00
|
|
|
|
that will process tweets every minute is:
|
2017-06-05 22:29:31 +02:00
|
|
|
|
|
|
|
|
|
* * * * * /usr/local/share/zulip/integrations/twitter/twitter-search-bot
|
|
|
|
|
--search="@nprnews,quantum physics" --site={{ external_api_uri_subdomain }}
|
|
|
|
|
|
|
|
|
|
When someone tweets a message containing one of your search terms,
|
|
|
|
|
you’ll get a Zulip on your specified stream, with the search term as
|
|
|
|
|
the topic.
|
|
|
|
|
|
2017-06-22 02:50:45 +02:00
|
|
|
|
{!congrats.md!}
|
2017-06-05 22:29:31 +02:00
|
|
|
|
|
|
|
|
|
![](/static/images/integrations/twitter/001.png)
|
|
|
|
|
|
2017-06-22 02:50:45 +02:00
|
|
|
|
Note that the Twitter search bot integration **just sends links to
|
2017-06-05 22:29:31 +02:00
|
|
|
|
tweets**; the pretty inline previews of tweets are generated by the
|
|
|
|
|
Twitter card rendering integration configured in
|
|
|
|
|
`/etc/zulip/settings.py` on the Zulip server.
|