- Lagere Funktion zum Printen von Nachrichten in eigene Funktion aus & verbessere den Code etwas
- Fix Readme
This commit is contained in:
parent
9e66527008
commit
52426b14b7
@ -24,7 +24,7 @@ Mikubot V2 ist freie Software; du darfst ihn modifizieren und weiterverbreiten,
|
||||
### Ubuntu und Debian
|
||||
Falls du Ubuntu oder Debian verwendest, kannst du einfach `./install-dependencies.sh` ausführen, damit alles installiert wird. Ergänze dann noch den `bot_api_key` und die `admin`-ID (Bekommst du in Telegram mit `@Mikubot id`) und kopiere die config.lua.example nach config.lua.
|
||||
|
||||
###Optionale Pakete
|
||||
####Optionale Pakete
|
||||
Diese Pakete werden für `flip-text.lua`, `shell.lua`, `speedtest_cli.lua` und `youtube_dl.lua` benötigt.
|
||||
* `sudo apt-get install -y cowsay scrot fswebcam vnstat vnstati youtube-dl npm`
|
||||
* `sudo npm install -g flip-text`
|
||||
|
159
miku/bot.lua
159
miku/bot.lua
@ -20,7 +20,7 @@
|
||||
|
||||
local bot = {}
|
||||
|
||||
bot.version = '160906'
|
||||
bot.version = '160908'
|
||||
|
||||
function bot:init(config) -- The function run when the bot is started or reloaded.
|
||||
assert(config.bot_api_key, 'Dein Bot-Token ist nicht in der Config gesetzt!')
|
||||
@ -63,97 +63,6 @@ function bot:on_msg_receive(msg, config) -- The fn run whenever a message is rec
|
||||
-- remove comment to enable debugging
|
||||
-- vardump(msg)
|
||||
|
||||
-- print messages
|
||||
msg_time = '\27[36m'..convert_timestamp(msg.date, '[%H:%M:%S]')..'\27[0m'
|
||||
|
||||
if msg.chat.title then
|
||||
from_chat = ' \27[36m'..msg.chat.title..':\27[0m '
|
||||
else
|
||||
from_chat = ''
|
||||
end
|
||||
|
||||
if msg.from.first_name then
|
||||
name1 = msg.from.first_name
|
||||
else
|
||||
name1 = ''
|
||||
end
|
||||
if msg.from.last_name then
|
||||
name2 = ' '..msg.from.last_name
|
||||
else
|
||||
name2 = ''
|
||||
end
|
||||
if msg.from.username then
|
||||
name3 = ' \27[31m(@'..msg.from.username..')\27[0m'
|
||||
else
|
||||
name3 = ''
|
||||
end
|
||||
full_name = '\27[1m\27[31m'..name1..name2..'\27[0m'..name3
|
||||
|
||||
if msg.forward_from then
|
||||
if msg.forward_from.first_name then
|
||||
fwd_name1 = msg.forward_from.first_name
|
||||
else
|
||||
fwd_name1 = ''
|
||||
end
|
||||
if msg.forward_from.last_name then
|
||||
fwd_name2 = ' '..msg.forward_from.last_name
|
||||
else
|
||||
fwd_name2 = ''
|
||||
end
|
||||
full_fwd_name = '\27[3mWeitergeleitet von \27[31m'..fwd_name1..fwd_name2..'\27[0m: '
|
||||
else
|
||||
full_fwd_name = ''
|
||||
end
|
||||
|
||||
if msg.reply_to_message then
|
||||
if msg.reply_to_message.from.first_name then
|
||||
from_name1 = msg.reply_to_message.from.first_name
|
||||
else
|
||||
from_name1 = ''
|
||||
end
|
||||
if msg.reply_to_message.from.last_name then
|
||||
from_name2 = ' '..msg.reply_to_message.from.last_name
|
||||
else
|
||||
from_name2 = ''
|
||||
end
|
||||
full_from_name = '\27[3mAntwort auf \27[31m'..from_name1..from_name2..'\27[0m: '
|
||||
else
|
||||
full_from_name = ''
|
||||
end
|
||||
|
||||
if msg.text then
|
||||
user_msg = msg.text..'\27[0m'
|
||||
elseif msg.caption then
|
||||
user_msg = msg.caption..'\27[0m'
|
||||
else
|
||||
user_msg = ''
|
||||
end
|
||||
|
||||
if msg.photo then
|
||||
filetext = '[Foto] '
|
||||
elseif msg.video then
|
||||
filetext = '[Video] '
|
||||
elseif msg.sticker then
|
||||
filetext = '[Sticker] '
|
||||
elseif msg.voice then
|
||||
filetext = '[Sprachnachricht] '
|
||||
elseif msg.audio then
|
||||
filetext = '[Audio] '
|
||||
elseif msg.document then
|
||||
filetext = '[Datei] '
|
||||
elseif msg.location then
|
||||
filetext = '[Standort] '
|
||||
elseif msg.contact then
|
||||
filetext = '[Kontakt] '
|
||||
elseif msg.venue then
|
||||
filetext = '[Venue] '
|
||||
else
|
||||
filetext = ''
|
||||
end
|
||||
|
||||
full_message = msg_time..from_chat..full_name..' \27[36m>>>\27[0m '..full_fwd_name..full_from_name..filetext..user_msg
|
||||
print(full_message)
|
||||
|
||||
if msg.date < os.time() - 5 then return end -- Do not process old messages.
|
||||
|
||||
msg = utilities.enrich_message(msg)
|
||||
@ -162,6 +71,9 @@ function bot:on_msg_receive(msg, config) -- The fn run whenever a message is rec
|
||||
msg.reply_to_message.text = msg.reply_to_message.text or msg.reply_to_message.caption or ''
|
||||
end
|
||||
|
||||
-- print out received messages
|
||||
print(bot:print_msg(msg))
|
||||
|
||||
-- Support deep linking.
|
||||
if msg.text:match('^'..config.cmd_pat..'start .+') then
|
||||
msg.text = config.cmd_pat .. utilities.input(msg.text)
|
||||
@ -337,6 +249,69 @@ function bot:run(config)
|
||||
print('Halted.')
|
||||
end
|
||||
|
||||
function bot:print_msg(msg)
|
||||
local msg_time = '\27[36m'..convert_timestamp(msg.date, '[%H:%M:%S]')..'\27[0m'
|
||||
|
||||
if msg.chat.title then
|
||||
from_chat = ' \27[36m'..msg.chat.title..':\27[0m'
|
||||
else
|
||||
from_chat = ''
|
||||
end
|
||||
|
||||
if msg.from.username then
|
||||
username = ' \27[31m(@'..msg.from.username..')\27[0m'
|
||||
else
|
||||
username = ''
|
||||
end
|
||||
local full_name = ' \27[1m\27[31m'..msg.from.name..'\27[0m'..username
|
||||
|
||||
if msg.forward_from then
|
||||
if msg.forward_from.username then
|
||||
fwd_username = ' \27[31m(@'..msg.forward_from.username..')\27[0m'
|
||||
else
|
||||
fwd_username = ''
|
||||
end
|
||||
fwd_text = '\27[3mWeitergeleitet von \27[31m'..msg.forward_from.name..'\27[0m'..fwd_username..': '
|
||||
else
|
||||
fwd_text = ''
|
||||
end
|
||||
|
||||
if msg.reply_to_message then
|
||||
if msg.reply_to_message.from.username then
|
||||
from_username = ' \27[31m(@'..msg.reply_to_message.from.username..')\27[0m'
|
||||
else
|
||||
from_username = ''
|
||||
end
|
||||
reply_text = '\27[3mAntwort auf \27[31m'..msg.reply_to_message.from.name..'\27[0m'..from_username..': '
|
||||
else
|
||||
reply_text = ''
|
||||
end
|
||||
|
||||
if msg.photo then
|
||||
filetext = '[Foto] '
|
||||
elseif msg.video then
|
||||
filetext = '[Video] '
|
||||
elseif msg.sticker then
|
||||
filetext = '[Sticker] '
|
||||
elseif msg.voice then
|
||||
filetext = '[Sprachnachricht] '
|
||||
elseif msg.audio then
|
||||
filetext = '[Audio] '
|
||||
elseif msg.document then
|
||||
filetext = '[Datei] '
|
||||
elseif msg.location then
|
||||
filetext = '[Standort] '
|
||||
elseif msg.contact then
|
||||
filetext = '[Kontakt] '
|
||||
elseif msg.venue then
|
||||
filetext = '[Ort] '
|
||||
else
|
||||
filetext = ''
|
||||
end
|
||||
|
||||
return msg_time..from_chat..full_name..' \27[36m>>>\27[0m '..fwd_text..reply_text..filetext..msg.text..'\27[0m'
|
||||
end
|
||||
|
||||
-- Apply plugin.pre_process function
|
||||
function pre_process_msg(self, msg, config)
|
||||
for n=1, #self.plugins do
|
||||
|
Reference in New Issue
Block a user