view mod_pubsub_twitter/README.markdown @ 4651:8231774f5bfd

mod_cloud_notify_encrypted: Ensure body substring remains valid UTF-8 The `body:sub()` call risks splitting the string in the middle of a multi-byte UTF-8 sequence. This should have been caught by util.stanza validation, but that would have caused some havoc, at the very least causing the notification to not be sent. There have been no reports of this happening. Likely because this module isn't widely deployed among users with languages that use many longer UTF-8 sequences. The util.encodings.utf8.valid() function is O(n) where only the last sequence really needs to be checked, but it's in C and expected to be fast.
author Kim Alvefur <zash@zash.se>
date Sun, 22 Aug 2021 13:22:59 +0200
parents 4d73a1a6ba68
children
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
  ----- -------