This repository has been archived on 2021-04-24. You can view files and clone it, but cannot push or open issues or pull requests.
Mikubot-2/otouto/plugins/patterns.lua
topkecleon e19d2e1e84 patterns.lua
Trim whitespace off the ends of strings (partial fix for
https://github.com/topkecleon/otouto/issues/74).
  Make output style consistent with translate.lua.
2016-07-26 17:50:31 -04:00

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