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/plugins/sh.lua

86 lines
2.6 KiB
Lua

function run(msg, matches)
local receiver = get_receiver(msg)
if string.match(msg.text, '^/[Ss][Hh]') then
text = run_sh(msg)
send_msg(receiver, text, ok_cb, false)
return
end
if string.match(msg.text, '^/[Uu][Pp][Tt][Ii][Mm][Ee]$') then
text = run_bash('uptime')
send_msg(receiver, text, ok_cb, false)
return
end
-- Requires scrot (sudo apt-get install scrot)
if string.match(msg.text, '^/[Ss][Cc][Rr][Ee][Ee][Nn]$') then
text = run_bash("scrot 'scrot.png' -e 'mv $f ~/Mikubot/tmp/'")
send_photo(get_receiver(msg), "tmp/scrot.png", ok_cb, false)
return 'Screenshot wird gesendet!'
end
-- Requires ffmpeg (sudo apt-get install ffmpeg)
if string.match(msg.text, '^/[Ww][Ee][Bb][Cc][Aa][Mm]$') then
text = run_bash("ffmpeg -f video4linux2 -s 640x480 -r 1 -i /dev/video0 -vframes 1 -f image2 ~/Mikubot/tmp/webcam.jpg -y")
send_photo(get_receiver(msg), "tmp/webcam.jpg", ok_cb, false)
end
-- You need to disable sudo password
if string.match(msg.text, '^/[Uu][Pp][Dd][Aa][Tt][Ee]$') then
text = run_bash("sudo apt-get update")
print(text)
return 'Update durchgeführt!'
end
if string.match(msg.text, '^/[Uu][Pp][Gg][Rr][Aa][Dd][Ee]$') then
text = run_bash("sudo apt-get upgrade -y")
print(text)
return 'Upgrade durchgeführt!'
end
if string.match(msg.text, '^/[Cc][Hh][Ee][Cc][Kk]$') then
cmd = run_bash("sudo apt-get --just-print upgrade")
text = 'Es gibt '..string.match(cmd, '(%d+) aktualisiert')..' Updates'
return text
end
-- vcgencmd works only on Raspberry Pi
if string.match(msg.text, '^/[Tt][Ee][Mm][Pp]$') then
text = run_bash('vcgencmd measure_temp')
text = string.gsub(text, "temp=", " ")
return "Die CPU Temperatur beträgt" ..text
end
if string.match(msg.text, '^/[Vv][Oo][Ll][Tt]$') then
text = run_bash('vcgencmd measure_volts')
send_msg(receiver, text, ok_cb, false)
return
end
if string.match(msg.text, '^/[Tt][Aa][Kk][Tt]$') then
text = run_bash('vcgencmd measure_clock arm')
send_msg(receiver, text, ok_cb, false)
return
end
end
return {
description = "Führt Befehle in der Konsole aus",
usage = {"/sh [Befehl]","/uptime","/temp","/volt","/takt","/screen","/update","/upgrade"},
patterns = {"^/[Ss][Hh] (.*)$",
"^/[Uu][Pp][Tt][Ii][Mm][Ee]$",
"^/[Ss][Cc][Rr][Ee][Ee][Nn]$",
"^/[Uu][Pp][Dd][Aa][Tt][Ee]$",
"^/[Uu][Pp][Gg][Rr][Aa][Dd][Ee]$",
"^/[Tt][Ee][Mm][Pp]$",
"^/[Vv][Oo][Ll][Tt]$",
"^/[Tt][Aa][Kk][Tt]$",
"^/[Cc][Hh][Ee][Cc][Kk]$",
"^/[Ww][Ee][Bb][Cc][Aa][Mm]$"
},
run = run,
privileged = true
}