From 802d37f76e86e685d9adea60000b752af77781e5 Mon Sep 17 00:00:00 2001 From: Akamaru Date: Thu, 3 Dec 2015 20:38:24 +0100 Subject: [PATCH] Defekte Plugins entfernt --- plugins/{ => pluginsold}/gay.lua | 0 plugins/pluginsold/img_google.lua | 166 +++++++++++++++++++ plugins/{ => pluginsold}/img_google_nsfw.lua | 0 plugins/{ => pluginsold}/pornhub.lua | 0 plugins/{ => pluginsold}/wallpaper.lua | 0 plugins/{ => pluginsold}/wallpaper_nsfw.lua | 0 plugins/{ => pluginsold}/youporn.lua | 0 7 files changed, 166 insertions(+) rename plugins/{ => pluginsold}/gay.lua (100%) create mode 100644 plugins/pluginsold/img_google.lua rename plugins/{ => pluginsold}/img_google_nsfw.lua (100%) rename plugins/{ => pluginsold}/pornhub.lua (100%) rename plugins/{ => pluginsold}/wallpaper.lua (100%) rename plugins/{ => pluginsold}/wallpaper_nsfw.lua (100%) rename plugins/{ => pluginsold}/youporn.lua (100%) diff --git a/plugins/gay.lua b/plugins/pluginsold/gay.lua similarity index 100% rename from plugins/gay.lua rename to plugins/pluginsold/gay.lua diff --git a/plugins/pluginsold/img_google.lua b/plugins/pluginsold/img_google.lua new file mode 100644 index 0000000..dcc654a --- /dev/null +++ b/plugins/pluginsold/img_google.lua @@ -0,0 +1,166 @@ +do + +local _blacklist + +local function getGoogleImage(text) + local text = URL.escape(text) + local api = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&safe=active&q=" + local res, code = http.request(api..text) + if code ~= 200 then return nil end + local google = json:decode(res) + + if google.responseStatus ~= 200 then + return nil + end + + local data = google.responseData + + if not data or not data.results then + return nil + end + + if #data.results == 0 then + return nil + end + + return data.results +end + +local function is_blacklisted(msg) + local var = false + for v,word in pairs(_blacklist) do + if string.find(string.lower(msg), string.lower(word)) then + print("Wort steht auf der Blacklist!") + var = true + break + end + end + return var +end + +local function show_blacklist() + if not _blacklist[1] then + return "Keine Wörter geblacklisted!\nBlackliste welche mit /imgblacklist add [Wort]" + else + local sort_alph = function( a,b ) return a < b end + table.sort( _blacklist, sort_alph ) + local blacklist = "Folgende Wörter stehen auf der Blacklist:\n" + for v,word in pairs(_blacklist) do + blacklist = blacklist..'- '..word..'\n' + end + return blacklist + end +end + +local function add_blacklist() + print('Blacklisting '..word..' - saving to redis set telegram:img_blacklist') + if redis:sismember("telegram:img_blacklist", word) == true then + return '"'..word..'" steht schon auf der Blacklist.' + else + redis:sadd("telegram:img_blacklist", word) + return '"'..word..'" blacklisted!' + end +end + +local function remove_blacklist() + print('De-blacklisting '..word..' - removing from redis set telegram:img_blacklist') + if redis:sismember("telegram:img_blacklist", word) == true then + redis:srem("telegram:img_blacklist", word) + return '"'..word..'" erfolgreich von der Blacklist gelöscht!' + else + return '"'..word..'" steht nicht auf der Blacklist.' + end +end + +local function run(msg, matches) + local receiver = get_receiver(msg) + local text = matches[1] + if matches[2] then word = string.lower(matches[2]) end + + _blacklist = redis:smembers("telegram:img_blacklist") + + if text == "/imgblacklist show" then + if is_sudo(msg) then + return show_blacklist() + else + return "Du bist kein Superuser. Dieser Vorfall wird gemeldet!" + end + end + + if text == "/imgblacklist add" and word == nil then + return "Benutzung: /imgblacklist add [Wort]" + elseif text == "/imgblacklist add" and word then + if is_sudo(msg) then + return add_blacklist() + else + return "Du bist kein Superuser. Dieser Vorfall wird gemeldet!" + end + end + + if text == "/imgblacklist del" and word == nil then + return "Benutzung: /imgblacklist del [Wort]" + elseif text == "/imgblacklist del" and word then + if is_sudo(msg) then + return remove_blacklist() + else + return "Du bist kein Superuser. Dieser Vorfall wird gemeldet!" + end + end + + print ('Checking if search contains blacklisted words: '..text) + if is_blacklisted(text) then + return "Vergiss es ._." + end + + local results = getGoogleImage(text) + if not results then + return "Kein Bild gefunden!" + end + + -- Random image from table + local i = math.random(#results) + local url = nil; + + local failed = true + local nofTries = 0 + while failed and nofTries < #results do + url = results[i].url; + print("Bilder-URL: ", url) + + if string.ends(url, ".gif") then + failed = not send_document_from_url(receiver, url, nil, nil, true) + elseif string.ends(url, ".jpg") or string.ends(url, ".jpeg") or string.ends(url, ".png") then + failed = not send_photo_from_url(receiver, url, nil, nil, true) + end + + nofTries = nofTries + 1 + i = i+1 + if i > #results then + i = 1 + end + end + + if failed then + return "Fehler beim Herunterladen eines Bildes." + else + return "Source: "..url + end +end + +return { + description = "Sucht Bild mit Google-API und versendet es (SafeSearch aktiv)", + usage = { + "/img [Suchbegriff]", + "/imgblacklist show: Zeigt Blacklist (nur Superuser)", + "/imgblacklist add [Wort]: Fügt Wort der Blacklist hinzu (nur Superuser)", + "/imgblacklist del [Wort]: Entfernt Wort aus der Blacklist (nur Superuser)" + }, + patterns = { + "^/img (.*)$", + "^(/imgblacklist show)$", + "^(/imgblacklist add) (.*)$", + "^(/imgblacklist del) (.*)$" + }, + run = run +} +end \ No newline at end of file diff --git a/plugins/img_google_nsfw.lua b/plugins/pluginsold/img_google_nsfw.lua similarity index 100% rename from plugins/img_google_nsfw.lua rename to plugins/pluginsold/img_google_nsfw.lua diff --git a/plugins/pornhub.lua b/plugins/pluginsold/pornhub.lua similarity index 100% rename from plugins/pornhub.lua rename to plugins/pluginsold/pornhub.lua diff --git a/plugins/wallpaper.lua b/plugins/pluginsold/wallpaper.lua similarity index 100% rename from plugins/wallpaper.lua rename to plugins/pluginsold/wallpaper.lua diff --git a/plugins/wallpaper_nsfw.lua b/plugins/pluginsold/wallpaper_nsfw.lua similarity index 100% rename from plugins/wallpaper_nsfw.lua rename to plugins/pluginsold/wallpaper_nsfw.lua diff --git a/plugins/youporn.lua b/plugins/pluginsold/youporn.lua similarity index 100% rename from plugins/youporn.lua rename to plugins/pluginsold/youporn.lua