- Bot-Username wird direkt aus den self-Infos genommen

- Portiere service_entergroup
This commit is contained in:
Andreas Bielawski 2016-06-18 13:42:30 +02:00
parent aaf05df495
commit f891672572
3 changed files with 59 additions and 4 deletions

View File

@ -2,8 +2,6 @@ return {
-- Your authorization token from the botfather. -- Your authorization token from the botfather.
bot_api_key = '', bot_api_key = '',
-- Bot's username without @
bot_user_name = '',
-- Your Telegram ID. -- Your Telegram ID.
admin = 1337, admin = 1337,
-- Two-letter language code. -- Two-letter language code.

View File

@ -74,8 +74,8 @@ function bot:on_msg_receive(msg, config) -- The fn run whenever a message is rec
end end
-- gsub out user name if multiple bots are in the same group -- gsub out user name if multiple bots are in the same group
msg.text = string.gsub(msg.text, '@'..config.bot_user_name, "") msg.text = string.gsub(msg.text, '@'..self.info.username, "")
msg.text_lower = string.gsub(msg.text, '@'..string.lower(config.bot_user_name), "") msg.text_lower = string.gsub(msg.text, '@'..string.lower(self.info.username), "")
msg = pre_process_msg(self, msg, config) msg = pre_process_msg(self, msg, config)

View File

@ -0,0 +1,57 @@
local entergroup = {}
local utilities = require('otouto.utilities')
local bindings = require('otouto.bindings')
entergroup.triggers = {
'/nil'
}
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:pre_process(msg, self)
if msg.new_chat_member then
entergroup:chat_new_user(msg, self)
elseif msg.left_chat_member then
entergroup:chat_del_user(msg, self)
end
return msg
end
function entergroup:action(msg)
end
return entergroup