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 }