Erster privater commit
This commit is contained in:
24
plugins/pluginsold/boersedown.lua
Normal file
24
plugins/pluginsold/boersedown.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
socket = require("socket")
|
||||
|
||||
function cron()
|
||||
-- Use yours desired web and id
|
||||
local addr = "www.boerse.to"
|
||||
local dest = "chat#id12345678"
|
||||
-- Checks a TCP connexion
|
||||
local connexion = socket.connect(addr, 80)
|
||||
if not connexion then
|
||||
local text = "boerse.to ist schon wieder Offline..."
|
||||
print (text)
|
||||
send_msg(dest, text, ok_cb, false)
|
||||
else
|
||||
connexion:close()
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Checkt ob Boerse.to online ist",
|
||||
usage = {"Hierfür gibt es kein Befehl"},
|
||||
patterns = {},
|
||||
run = nil,
|
||||
cron = cron
|
||||
}
|
@@ -1,52 +0,0 @@
|
||||
-- See https://bitcoinaverage.com/api
|
||||
local function getBTCX(amount,currency)
|
||||
local base_url = 'https://api.bitcoinaverage.com/ticker/global/'
|
||||
-- Do request on bitcoinaverage, the final / is critical!
|
||||
local res,code = https.request(base_url..currency.."/")
|
||||
|
||||
if code ~= 200 then return nil end
|
||||
local data = json:decode(res)
|
||||
|
||||
-- Easy, it's right there
|
||||
text = "BTC/"..currency..'\n'..'Buy: '..data.ask..'\n'..'Sell: '..data.bid
|
||||
|
||||
-- If we have a number as second parameter, calculate the bitcoin amount
|
||||
if amount~=nil then
|
||||
btc = tonumber(amount) / tonumber(data.ask)
|
||||
text = text.."\n "..currency .." "..amount.." = BTC "..btc
|
||||
end
|
||||
return text
|
||||
end
|
||||
|
||||
local function run(msg, matches)
|
||||
local cur = 'EUR'
|
||||
local amt = nil
|
||||
|
||||
-- Get the global match out of the way
|
||||
if matches[1] == "!btc" then
|
||||
return getBTCX(amt,cur)
|
||||
end
|
||||
|
||||
if matches[2] ~= nil then
|
||||
-- There is a second match
|
||||
amt = matches[2]
|
||||
cur = string.upper(matches[1])
|
||||
else
|
||||
-- Just a EUR or USD param
|
||||
cur = string.upper(matches[1])
|
||||
end
|
||||
return getBTCX(amt,cur)
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Bitcoin global average market value (in EUR or USD)",
|
||||
usage = "!btc [EUR|USD] [amount]",
|
||||
patterns = {
|
||||
"^!btc$",
|
||||
"^!btc ([Ee][Uu][Rr])$",
|
||||
"^!btc ([Uu][Ss][Dd])$",
|
||||
"^!btc (EUR) (%d+[%d%.]*)$",
|
||||
"^!btc (USD) (%d+[%d%.]*)$"
|
||||
},
|
||||
run = run
|
||||
}
|
49
plugins/pluginsold/get.lua
Normal file
49
plugins/pluginsold/get.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
local function get_variables_hash(msg)
|
||||
if msg.to.type == 'chat' then
|
||||
return 'chat:'..msg.to.id..':variables'
|
||||
end
|
||||
if msg.to.type == 'user' then
|
||||
return 'user:'..msg.from.id..':variables'
|
||||
end
|
||||
end
|
||||
|
||||
local function list_variables(msg)
|
||||
local hash = get_variables_hash(msg)
|
||||
|
||||
if hash then
|
||||
local names = redis:hkeys(hash)
|
||||
local text = ''
|
||||
for i=1, #names do
|
||||
text = text..names[i]..'\n'
|
||||
end
|
||||
return text
|
||||
end
|
||||
end
|
||||
|
||||
local function get_value(msg, var_name)
|
||||
local hash = get_variables_hash(msg)
|
||||
if hash then
|
||||
local value = redis:hget(hash, var_name)
|
||||
if not value then
|
||||
return'Not found, use "/get" to list variables'
|
||||
else
|
||||
return var_name..' => '..value
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function run(msg, matches)
|
||||
if matches[2] then
|
||||
return get_value(msg, matches[2])
|
||||
else
|
||||
return list_variables(msg)
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Bekommt Variable, die mit /set gesetzt wurde",
|
||||
usage = {"/get (Variable)"},
|
||||
patterns = {"^/get (%a+)$","^/get$"},
|
||||
run = run,
|
||||
pre_process = lex
|
||||
}
|
40
plugins/pluginsold/myanimelist.lua
Normal file
40
plugins/pluginsold/myanimelist.lua
Normal file
@@ -0,0 +1,40 @@
|
||||
function getAnime(query)
|
||||
local number = 1 -- Set number of results
|
||||
local api = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&safe=active&hl=de&rsz="..number.."&q=site%3Amyanimelist.net"
|
||||
local parameters = "+".. (URL.escape(query) or "")
|
||||
|
||||
-- Do the request
|
||||
local res, code = https.request(api..parameters)
|
||||
if code ~=200 then return nil end
|
||||
local data = json:decode(res)
|
||||
|
||||
local results={}
|
||||
for key,result in ipairs(data.responseData.results) do
|
||||
table.insert(results, {
|
||||
result.titleNoFormatting,
|
||||
result.unescapedUrl or result.url
|
||||
})
|
||||
end
|
||||
return results
|
||||
end
|
||||
|
||||
function stringlinks(results)
|
||||
local stringresults=""
|
||||
for key,val in ipairs(results) do
|
||||
stringresults=stringresults..val[1].." - "..val[2].."\n"
|
||||
end
|
||||
return stringresults
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
local results = getAnime(matches[1])
|
||||
return stringlinks(results)
|
||||
end
|
||||
|
||||
return {
|
||||
description = "",
|
||||
usage = {"/myanimelist [Anime]","/mal [Anime]"},
|
||||
patterns = {"^/myanimelist (.*)$","^/mal (.*)$"},
|
||||
run = run
|
||||
}
|
||||
--Modified by Akamaru [https://ponywave.de]
|
65
plugins/pluginsold/quotes.lua
Normal file
65
plugins/pluginsold/quotes.lua
Normal file
@@ -0,0 +1,65 @@
|
||||
local quotes_file = './data/quotes.lua'
|
||||
local quotes_table
|
||||
|
||||
function read_quotes_file()
|
||||
local f = io.open(quotes_file, "r+")
|
||||
|
||||
if f == nil then
|
||||
print ('Erstelle neue Zitat Datei '..quotes_file)
|
||||
serialize_to_file({}, quotes_file)
|
||||
else
|
||||
print ('Zitate geladen: '..quotes_file)
|
||||
f:close()
|
||||
end
|
||||
return loadfile (quotes_file)()
|
||||
end
|
||||
|
||||
function save_quote(msg)
|
||||
local to_id = tostring(msg.to.id)
|
||||
|
||||
if msg.text:sub(11):isempty() then
|
||||
return "Verwendung: /addquote [Text]"
|
||||
end
|
||||
|
||||
if quotes_table == nil then
|
||||
quotes_table = {}
|
||||
end
|
||||
|
||||
if quotes_table[to_id] == nil then
|
||||
print ('Neuer quote key to_id: '..to_id)
|
||||
quotes_table[to_id] = {}
|
||||
end
|
||||
|
||||
local quotes = quotes_table[to_id]
|
||||
quotes[#quotes+1] = msg.text:sub(11)
|
||||
|
||||
serialize_to_file(quotes_table, quotes_file)
|
||||
|
||||
return "Neues Zitat hinzugefügt!"
|
||||
end
|
||||
|
||||
function get_quote(msg)
|
||||
local to_id = tostring(msg.to.id)
|
||||
local quotes_phrases
|
||||
|
||||
quotes_table = read_quotes_file()
|
||||
quotes_phrases = quotes_table[to_id]
|
||||
|
||||
return quotes_phrases[math.random(1,#quotes_phrases)]
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
if string.match(msg.text, "/quote$") then
|
||||
return get_quote(msg)
|
||||
elseif string.match(msg.text, "/addquote (.+)$") then
|
||||
quotes_table = read_quotes_file()
|
||||
return save_quote(msg)
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Speichert Zitate",
|
||||
usage = {"/addquote [Text]","/quote",},
|
||||
patterns = {"^/addquote (.+)$","^/quote$",},
|
||||
run = run
|
||||
}
|
30
plugins/pluginsold/set.lua
Normal file
30
plugins/pluginsold/set.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
local _file_values = './data/values.lua'
|
||||
|
||||
local function save_value(chat, text )
|
||||
var_name, var_value = string.match(text, "/set (%a+) (.+)")
|
||||
if (var_name == nil or var_value == nil) then
|
||||
return "Benutzung: /set var_name value"
|
||||
end
|
||||
if _values[chat] == nil then
|
||||
_values[chat] = {}
|
||||
end
|
||||
_values[chat][var_name] = var_value
|
||||
|
||||
-- Save values to file
|
||||
serialize_to_file(_values, _file_values)
|
||||
|
||||
return "Gespeichert: "..var_name.." = "..var_value
|
||||
end
|
||||
|
||||
local function run(msg, matches)
|
||||
local chat_id = tostring(msg.to.id)
|
||||
local text = save_value(chat_id, msg.text)
|
||||
return text
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Setze Variable",
|
||||
usage = {"/set [Variablenname] [Daten]"},
|
||||
patterns = {"^/set (%a+) (.+)$"},
|
||||
run = run
|
||||
}
|
Reference in New Issue
Block a user