4c72543315
various bugfixes blacklisting support (blacklist.lua) json file created automatically users are blacklisted and unblacklisted via reply with /blacklist nicknames support (nick.lua) json file created automatically users set nick by /nick "people" section of config deprecated moderation.lua improvements administrators can now run mod commands administrators are now listed with moderators modlist improved to be smarter and look better administrators can no longer be promoted to moderator /hammer command for admins to perform realm-wide ban
42 lines
850 B
Lua
42 lines
850 B
Lua
-- config.people is a table of IDs/nicknames the bot can address more familiarly
|
|
-- like so:
|
|
-- 13227902: "Drew"
|
|
|
|
|
|
local PLUGIN = {}
|
|
|
|
PLUGIN.triggers = {
|
|
bot.first_name .. '%p?$',
|
|
'^tadaima%p?$',
|
|
'^i\'m home%p?$',
|
|
'^i\'m back%p?$'
|
|
}
|
|
|
|
function PLUGIN.action(msg)
|
|
|
|
local input = string.lower(msg.text)
|
|
|
|
local data = load_data('nicknames.json')
|
|
local id = tostring(msg.from.id)
|
|
local nick = msg.from.first_name
|
|
|
|
if data[id] then nick = data[id] end
|
|
|
|
for i = 2, #PLUGIN.triggers do
|
|
if string.match(input, PLUGIN.triggers[i]) then
|
|
return send_message(msg.chat.id, 'Welcome back, ' .. nick .. '!')
|
|
end
|
|
end
|
|
|
|
for k,v in pairs(config.locale.interactions) do
|
|
for key,val in pairs(v) do
|
|
if input:match(val..',? '..bot.first_name) then
|
|
return send_message(msg.chat.id, k:gsub('#NAME', nick))
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
return PLUGIN
|