206c06937a
- leave_group und entergroup in service_leave_group bzw. service_entergroup umbenannt - Git zeigt die Umbenennung von leave_group nicht an!? - Games: Fix für Pattern - Utilites: Zwei neue Funktionen: is_service_msg() und service_modify_msg(), das erste prüft, ob es sich um eine Service-Message handelt, das zweite modifiziert msg.text und msg.text_lower entsprechend
53 lines
1.5 KiB
Lua
53 lines
1.5 KiB
Lua
local entergroup = {}
|
|
|
|
entergroup.triggers = {
|
|
'^//tgservice (new_chat_member)$',
|
|
'^//tgservice (left_chat_member)$'
|
|
}
|
|
|
|
function entergroup:chat_new_user(msg, self)
|
|
local user_name = msg.new_chat_member.first_name
|
|
local chat_title = msg.chat.title
|
|
if msg.from.username then
|
|
at_name = ' (@'..msg.from.username..')'
|
|
else
|
|
at_name = ''
|
|
end
|
|
if msg.from.id == msg.new_chat_member.id then -- entered through link
|
|
added_by = ''
|
|
else
|
|
added_by = '\n'..msg.from.name..at_name..' hat dich hinzugefügt!'
|
|
end
|
|
if msg.new_chat_member.id == self.info.id then -- don't say hello to ourselves
|
|
return
|
|
end
|
|
local text = 'Hallo '..user_name..', willkommen bei *'..chat_title..'*!'..added_by
|
|
utilities.send_reply(self, msg, text, true)
|
|
end
|
|
|
|
function entergroup:chat_del_user(msg, self)
|
|
if msg.left_chat_member.id == msg.from.id then -- silent ignore, if user wasn't kicked
|
|
return
|
|
end
|
|
local user_name = msg.left_chat_member.first_name
|
|
if msg.from.username then
|
|
at_name = ' (@'..msg.from.username..')'
|
|
else
|
|
at_name = ''
|
|
end
|
|
local text = user_name..' wurde von '..msg.from.first_name..at_name..' aus der Gruppe gekickt.'
|
|
utilities.send_reply(self, msg, text, true)
|
|
end
|
|
|
|
function entergroup:action(msg, config, matches)
|
|
if not is_service_msg(msg) then return end -- Bad attempt at trolling!
|
|
|
|
if matches[1] == 'new_chat_member' then
|
|
entergroup:chat_new_user(msg, self)
|
|
elseif matches[1] == 'left_chat_member'then
|
|
entergroup:chat_del_user(msg, self)
|
|
end
|
|
end
|
|
|
|
return entergroup
|