2016-08-11 15:01:18 +02:00
-- SWITCH YOUR EDITOR TO UTF-8 (Notepad++ sets this file to ANSI)
2016-08-02 16:19:20 +02:00
local settings = { }
settings.triggers = {
" ^(⚙ [Ee]instellungen)$ " ,
" ^(/settings)$ " ,
2016-08-11 15:01:18 +02:00
" ^(↩️ [Zz]urück)$ " ,
" ^(💤 [Aa][Ff][Kk]%-[Kk]eyboard einschalten)$ " ,
" ^(💤 [Aa][Ff][Kk]%-[Kk]eyboard ausschalten)$ " ,
" ^(❌ [Ee]instellungen verstecken)$ " ,
" ^(▶️ [Vv]ideoauflösung für [Yy]ou[Tt]ube%-[Dd][Ll] einstellen)$ " ,
" ^(▶️ 144p)$ " ,
" ^(▶️ 180p)$ " ,
" ^(▶️ 360p [Ww]eb[Mm])$ " ,
" ^(▶️ 360p [Mm][Pp]4)$ " ,
" ^(▶️ 720p)$ "
2016-08-02 16:19:20 +02:00
}
--[[
[
[ " Top Left " , " Top Right " ] ,
[ " Bottom Left " , " Bottom Right " ]
]
] ]
function settings : keyboard ( user_id )
if redis : hget ( ' user: ' .. user_id , ' afk_keyboard ' ) == ' true ' then
afk_button = ' {"text":"💤 AFK-Keyboard ausschalten"} '
else
afk_button = ' {"text":"💤 AFK-Keyboard einschalten"} '
end
2016-08-11 15:01:18 +02:00
local youtube_dl_res_button = ' {"text":"▶️ Videoauflösung für YouTube-DL einstellen"} '
2016-08-02 16:19:20 +02:00
local hide_settings_button = ' {"text":"❌ Einstellungen verstecken"} '
2016-08-11 15:01:18 +02:00
local settings_keyboard = ' [[ ' .. afk_button .. ' , ' .. youtube_dl_res_button .. ' ],[ ' .. hide_settings_button .. ' ]] '
2016-08-02 16:19:20 +02:00
return settings_keyboard
end
2016-08-11 15:01:18 +02:00
function settings : youtube_dl_keyboard ( )
local worst = ' {"text":"▶️ 144p"} '
local still_worse = ' {"text":"▶️ 180p"} '
local better_webm = ' {"text":"▶️ 360p WebM"} '
local better_mp4 = ' {"text":"▶️ 360p MP4"} '
local best = ' {"text":"▶️ 720p"} '
local back = ' {"text":"↩️ Zurück"} '
local youtube_dl_keyboard = ' [[ ' .. best .. ' , ' .. better_mp4 .. ' , ' .. better_webm .. ' ],[ ' .. still_worse .. ' , ' .. worst .. ' ],[ ' .. back .. ' ]] '
return youtube_dl_keyboard
end
2016-08-02 16:19:20 +02:00
function settings : action ( msg , config , matches )
if msg.chat . type ~= " private " then
return
end
local hash = ' user: ' .. msg.from . id
2016-08-11 15:01:18 +02:00
-- General
if matches [ 1 ] == ' ⚙ Einstellungen ' or matches [ 1 ] == ' /settings ' or matches [ 1 ] == ' ↩️ Zurück ' then
2016-08-02 16:19:20 +02:00
utilities.send_reply ( self , msg , ' Was möchtest du einstellen? ' , false , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
2016-08-11 15:01:18 +02:00
elseif matches [ 1 ] == ' ❌ Einstellungen verstecken ' then
utilities.send_reply ( self , msg , ' Um die Einstellungen wieder einzublenden, führe /settings aus. ' , true , ' {"hide_keyboard":true} ' )
return
end
-- AFK keyboard
if matches [ 1 ] == ' 💤 AFK-Keyboard einschalten ' then
2016-08-02 16:19:20 +02:00
redis : hset ( hash , ' afk_keyboard ' , ' true ' )
utilities.send_reply ( self , msg , ' Das AFK-Keyboard wurde erfolgreich *eingeschaltet*. ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
elseif matches [ 1 ] == ' 💤 AFK-Keyboard ausschalten ' then
redis : hset ( hash , ' afk_keyboard ' , ' false ' )
utilities.send_reply ( self , msg , ' Das AFK-Keyboard wurde erfolgreich *ausgeschaltet*. ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
2016-08-11 15:01:18 +02:00
end
-- YouTube-DL video resolution
-- 144p: 17
-- 180p: 36
-- 360p WebM: 43
-- 360p MP4: 18
-- 720p: 22
if matches [ 1 ] == ' ▶️ Videoauflösung für YouTube-DL einstellen ' then
utilities.send_reply ( self , msg , ' Welche Videoauflösung bevorzugst du? \n <b>HINWEIS:</b> Dies gilt nur für <code>/mp4</code>. Wenn die gewählte Auflösung nicht zur Verfügung steht, wird die nächsthöhere bzw. bei 720p die nächstniedrigere genommen. ' , ' HTML ' , ' {"keyboard": ' .. settings : youtube_dl_keyboard ( ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
elseif matches [ 1 ] == ' ▶️ 144p ' then
local resolution_order = ' 17/36/43/18/22 '
redis : hset ( hash , ' yt_dl_res_ordner ' , resolution_order )
utilities.send_reply ( self , msg , ' Die Reihenfolge ist jetzt folgende: \n 1) 144p \n 2) 180p \n 3) 360p WebM \n 4) 360p MP4 \n 5) 720p ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
elseif matches [ 1 ] == ' ▶️ 180p ' then
local resolution_order = ' 36/17/43/18/22 '
redis : hset ( hash , ' yt_dl_res_ordner ' , resolution_order )
utilities.send_reply ( self , msg , ' Die Reihenfolge ist jetzt folgende: \n 1) 180p \n 2) 144p \n 3) 360p WebM \n 4) 360p MP4 \n 5) 720p ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
elseif matches [ 1 ] == ' ▶️ 360p WebM ' then
local resolution_order = ' 43/18/36/17/22 '
redis : hset ( hash , ' yt_dl_res_ordner ' , resolution_order )
utilities.send_reply ( self , msg , ' Die Reihenfolge ist jetzt folgende: \n 1) 360p WebM \n 2) 360p MP4 \n 3) 180p \n 4) 144p \n 5) 720p ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
elseif matches [ 1 ] == ' ▶️ 360p MP4 ' then
local resolution_order = ' 18/43/36/17/22 '
redis : hset ( hash , ' yt_dl_res_ordner ' , resolution_order )
utilities.send_reply ( self , msg , ' Die Reihenfolge ist jetzt folgende: \n 1) 360p MP4 \n 2) 360p WebM \n 3) 180p \n 4) 144p \n 5) 720p ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
return
elseif matches [ 1 ] == ' ▶️ 720p ' then
local resolution_order = ' 22/18/43/36/17 '
redis : hset ( hash , ' yt_dl_res_ordner ' , resolution_order )
utilities.send_reply ( self , msg , ' Die Reihenfolge ist jetzt folgende: \n 1) 720p \n 2) 360p MP4 \n 3) 360p WebM \n 4) 180p \n 5) 144p ' , true , ' {"keyboard": ' .. settings : keyboard ( msg.from . id ) .. ' , "one_time_keyboard":true, "selective":true, "resize_keyboard":true} ' )
2016-08-02 16:19:20 +02:00
return
end
2016-08-11 15:01:18 +02:00
2016-08-02 16:19:20 +02:00
end
return settings