e19d2e1e84
Trim whitespace off the ends of strings (partial fix for https://github.com/topkecleon/otouto/issues/74). Make output style consistent with translate.lua.
34 lines
830 B
Lua
34 lines
830 B
Lua
local patterns = {}
|
|
|
|
local utilities = require('otouto.utilities')
|
|
|
|
patterns.triggers = {
|
|
'^/?s/.-/.-$'
|
|
}
|
|
|
|
function patterns:action(msg)
|
|
if not msg.reply_to_message then return true end
|
|
local output = msg.reply_to_message.text
|
|
if msg.reply_to_message.from.id == self.info.id then
|
|
output = output:gsub('Did you mean:\n"', '')
|
|
output = output:gsub('"$', '')
|
|
end
|
|
local m1, m2 = msg.text:match('^/?s/(.-)/(.-)/?$')
|
|
if not m2 then return true end
|
|
local res
|
|
res, output = pcall(
|
|
function()
|
|
return output:gsub(m1, m2)
|
|
end
|
|
)
|
|
if res == false then
|
|
utilities.send_reply(self, msg, 'Malformed pattern!')
|
|
else
|
|
output = output:sub(1, 4000)
|
|
output = '*Did you mean:*\n"' .. utilities.md_escape(utilities.trim(output)) .. '"'
|
|
utilities.send_reply(self, msg.reply_to_message, output, true)
|
|
end
|
|
end
|
|
|
|
return patterns
|