Mercurial > prosody-modules
view mod_ogp/test.lua @ 4579:b305814bd930
mod_muc_dicebot: A thing to roll dice
Do you see what happens, Jitsi? Do you see what happens when you
make it hard for me to use a proper bot? This is what happens,
Jitsi. This is what happens when you meet a stranger in the alps!
Ahem. In all seriousness, this is more of a quick hack than
anything else. It will look for `.r` in MUC messages and if it
finds it, it'll interpret it as an instruction to roll a few
dice. Injects the results in the body of the message. Eats the
message alive if it is malformed.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sat, 29 May 2021 15:17:05 +0200 |
parents | 38da10e4b593 |
children |
line wrap: on
line source
local html = [[ <meta property="og:title" content="Example 1 A"> <meta property=og:title content="Example 2 B"> <meta property="og:title" content="Example 3 C" > <meta property="og:title" content="Example 4 D" /> <meta property="og:title" content="Example 5 E"/> <meta property=og:title content=Example 6 F/> <meta property="og:title" content= "Example 7 G" /> <meta property="og:title" itemprop="image primaryImageOfPage" content="Example 8 H" /> <meta property='og:title' content='Example 9 I' /> <meta content="Example 10 J" property="og:title" > <meta content="Example 11 K" property="og:title"> <meta content="Example 12 L" property="og:title"/> <meta content="Example 13 M" property="og:title" /> <meta content="Example 14 N" property=og:title > <meta content=Example 15 O property=og:title > <meta content= "Example 16 P" property="og:title" /> <meta content="Example 17 Q" itemprop="image primaryImageOfPage" property="og:title" /> <meta content= 'Example 18 R' property='og:title' /> ]] local meta_pattern = [[<meta (.-)/?>]] for match in html:gmatch(meta_pattern) do local property = match:match([[property=%s*["']?(og:.-)["']?%s]]) if not property then property = match:match([[property=["']?(og:.-)["']$]]) end local content = match:match([[content=%s*["'](.-)["']%s]]) if not content then content = match:match([[content=["']?(.-)["']$]]) end if not content then content = match:match([[content=(.-) property]]) end if not content then content = match:match([[content=(.-)$]]) end print(property, '\t', content, '\t', match .. "|") end