File

mod_pubsub_twitter/README.markdown @ 5447:aa4828f040c5

mod_http_oauth2: Enforce client scope restrictions in authorization When registering a client, a scope field can be included as a promise to only ever use those. Here we enforce that promise, if given, ensuring a client can't request or be granted a scope it didn't provide in its registration. While currently there is no restrictions at registration time, this could be changed in the future in various ways.
author Kim Alvefur <zash@zash.se>
date Thu, 11 May 2023 19:33:44 +0200
parent 1803:4d73a1a6ba68
line wrap: on
line source

---
labels:
- 'Stage-Alpha'
summary: Subscribe to Twitter search queries over pubsub
...

Introduction
------------

Twitter has an open 'realtime' search API, but it requires polling
(within their rate limits). This module allows Prosody to poll for you,
and push new results to subscribers over XMPP.

Configuration
-------------

This module must be loaded on a Prosody pubsub component. Add it to
`modules_enabled` and configure like so:

    Component "pubsub.example.com" "pubsub"
    modules_enabled = { "pubsub_twitter" }

    twitter_searches = {
      realtime = "xmpp OR realtime";
      prosody = "prosody xmpp";
    }

This example creates two nodes, 'realtime' and 'prosody' that clients
can subscribe to using
[XEP-0060](http://xmpp.org/extensions/xep-0060.html). Results are in
[ATOM 1.0 format](http://atomenabled.org/) for easy consumption.

  Option                    Description
  ------------------------- --------------------------------------------------------------------------------
  twitter\_searches         A list of virtual nodes to create and their associated Twitter search queries.
  twitter\_pull\_interval   Number of minutes between polling for new results (default 20)
  twitter\_search\_url      URL of the JSON search API, default: "http://search.twitter.com/search.json"

Compatibility
-------------

  ----- -------
  0.9   Works
  ----- -------