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/whoami.lua

52 lines
1.4 KiB
Lua
Raw Normal View History

local whoami = {}
2016-06-07 06:31:34 +02:00
local utilities = require('otouto.utilities')
whoami.command = 'whoami'
function whoami:init(config)
whoami.triggers = utilities.triggers(self.info.username, config.cmd_pat):t('who', true):t('whoami').table
whoami.doc = [[```
Returns user and chat info for you or the replied-to message.
Alias: ]]..config.cmd_pat..[[who
```]]
end
2015-07-03 00:15:52 +02:00
function whoami:action(msg)
if msg.reply_to_message then
msg = msg.reply_to_message
2016-04-14 05:48:20 +02:00
msg.from.name = utilities.build_name(msg.from.first_name, msg.from.last_name)
2015-07-03 00:15:52 +02:00
end
2015-07-08 09:38:04 +02:00
local chat_id = math.abs(msg.chat.id)
if chat_id > 1000000000000 then
chat_id = chat_id - 1000000000000
end
local user = 'You are @%s, also known as *%s* `[%s]`'
if msg.from.username then
user = user:format(utilities.markdown_escape(msg.from.username), msg.from.name, msg.from.id)
else
user = 'You are *%s* `[%s]`,'
user = user:format(msg.from.name, msg.from.id)
end
local group = '@%s, also known as *%s* `[%s]`.'
if msg.chat.type == 'private' then
group = group:format(utilities.markdown_escape(self.info.username), self.info.first_name, self.info.id)
elseif msg.chat.username then
group = group:format(utilities.markdown_escape(msg.chat.username), msg.chat.title, chat_id)
else
group = '*%s* `[%s]`.'
group = group:format(msg.chat.title, chat_id)
end
local output = user .. ', and you are messaging ' .. group
2015-07-08 09:38:04 +02:00
utilities.send_message(self, msg.chat.id, output, true, msg.message_id, true)
2015-07-03 00:15:52 +02:00
end
return whoami