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

62 lines
1.9 KiB
Lua

local function transeng(ger)
ger = string.gsub(ger, 'week,', 'Woche')
ger = string.gsub(ger, 'weeks,', 'Wochen')
ger = string.gsub(ger, 'day,', 'Tag')
ger = string.gsub(ger, 'days,', 'Tage')
ger = string.gsub(ger, 'hour,', 'Stunde')
ger = string.gsub(ger, 'hours,', 'Stunden')
ger = string.gsub(ger, 'minute$', 'Minute')
ger = string.gsub(ger, 'minutes', 'Minuten')
return ger
end
local 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
cmd = run_bash('uptime -p')
text = transeng('Der PC ist seit '..string.match(cmd, 'up (.*)')..' an')
return text
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 fswebcam (sudo apt-get install fswebcam)
if string.match(msg.text, '^#[Ww][Ee][Bb][Cc][Aa][Mm]$') then
text = run_bash("fswebcam -r 640x480 --png 9 -D 1 ~/Mikubot/tmp/webcam.png")
send_photo(get_receiver(msg), "tmp/webcam.png", ok_cb, false)
end
if string.match(msg.text, '^#[Cc][Hh][Ee][Cc][Kk]$') then
cmd = run_bash("apt --just-print upgrade")
text = 'Es gibt '..string.match(cmd, '(%d+) aktualisiert')..' Updates'
return text
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]$",
"^#[Cc][Hh][Ee][Cc][Kk]$",
"^#[Ww][Ee][Bb][Cc][Aa][Mm]$"
},
run = run,
privileged = true
}