Wed, 15 Mar 2023 12:10:00 +0000
Dockerfile: update to bullseye
92
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 | function riddim.plugins.urltitle(bot) |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 | local http = require "net.http"; |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 | |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 | local function handler(message) |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 | local url = message.body and message.body:match("https?://%S+"); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 | if url then |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 | http.request(url, nil, function (data, code) |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 | if code ~= 200 then return end |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 | local title = data:match("<title[^>]*>([^<]+)"); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 | |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 | if title then |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 | title = title:gsub("\n", ""); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 | if message.room then |
94
5cc3b481d3e7
plugins.urltitle: Use correct method to send a message to a room. Thanks ruskie
Kim Alvefur <zash@zash.se>
parents:
92
diff
changeset
|
14 | message.room:send_message(title) |
92
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 | else |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 | message:reply(title); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 | end |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 | end |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 | end); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 | end |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 | end |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 | bot:hook("message", handler); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 | bot:hook("groupchat/joined", function(room) |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 | room:hook("message", handler) |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 | end); |
37e804dfaf37
Import urltitle plugin (thanks ruskie)
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 | end |