Software /
code /
prosody-modules
Annotate
mod_tweet_data/README.md @ 5810:e79f9dec35c0
mod_c2s_conn_throttle: Reduce log level from error->info
Our general policy is that "error" should never be triggerable by remote
entities, and that it is always about something that requires admin
intervention. This satisfies neither condition.
The "warn" level can be used for unexpected events/behaviour triggered by
remote entities, and this could qualify. However I don't think failed auth
attempts are unexpected enough.
I selected "info" because it is what is also used for other notable session
lifecycle events.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 07 Dec 2023 15:46:50 +0000 |
parent | 4597:c858c76d0845 |
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 ``` |