annotate mod_tweet_data/README.md @ 5265:f845c218e52c

mod_http_oauth2: Allow revoking a token without OAuth client credentials If you have a valid token, and you're not supposed to have it, revoking it seems the most responsible thing to do with it, so it should be allowed, while if you are supposed to have it, you should also be allowed to revoke it.
author Kim Alvefur <zash@zash.se>
date Tue, 21 Mar 2023 22:02:38 +0100
parents c858c76d0845
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4597
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
1 # mod_tweet_data
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
2
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
3 This module adds [Open Graph Protocol](https://ogp.me) metadata to Twitter.com tweet URLs sent inside a MUC.
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
4
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
5 It's similar to [mod_ogp](https://modules.prosody.im/mod_ogp.html) but is adapted specifically to Twitter.com, which doesn't support the [Open Graph Protocol](https://ogp.me).
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
6
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
7 When a user sends a tweet URL in a MUC (where the message has its `id` equal to its `origin-id`), this module calls that URL to get the tweet data.
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
8 If it finds any, it sends a [XEP-0422 fastening](https://xmpp.org/extensions/xep-0422.html) applied to the original message that looks as follows (note, I haven't used real data here):
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
9
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
10 ```xml
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
11 <message xmlns="jabber:client" to="user@chat.example.org/resource" from="chatroom@muc.example.org" type="groupchat">
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
12 <apply-to xmlns="urn:xmpp:fasten:0" id="82dbc94c-c18a-4e51-a0d5-9fd3a7bfd267">
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
13 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:article:author" content="TwitterCritter" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
14 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:article:published_time" content="2021-06-22T06:44:20.000Z" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
15 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:description" content="I'm in ur twitterz" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
16 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:image" content="https://pbs.twimg.com/profile_images/984325764849045505/Ty3F93Ln_normal.jpg" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
17 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:title" content="TwitterCritter" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
18 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:type" content="tweet" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
19 <meta xmlns="http://www.w3.org/1999/xhtml" property="og:url" content="https://twitter.com/TwitterCritter/status/1407227938391707648" />
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
20 </apply-to>
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
21 <stanza-id xmlns="urn:xmpp:sid:0" by="chatroom@muc.example.org" id="90e8818d-390a-4c69-a2d8-0fd463fb3366"/>
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
22 </message>
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
23 ```
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
24
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
25 Configuration
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
26 -------------
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
27
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
28 You'll need to provide a Twitter APIv2 bearer token.
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
29
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
30 ```lua
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
31 Component "muc.example.org" "muc"
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
32 modules_enabled = { "tweet_data" }
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
33 twitter_apiv2_bearer_token = { "some-very-long-string" }
c858c76d0845 mod_tweet_data: New module that fetches and sends tweet data
JC Brand <jc@opkode.com>
parents:
diff changeset
34 ```