mcbot/cmds/wtf.lua
author Mikael Berthe <mikael@lilotux.net>
Thu, 15 Apr 2010 18:57:38 +0200
changeset 16 064a50911e05
parent 0 89add07d6fe4
child 66 d9c00a9fe9d5
permissions -rw-r--r--
Update command infrastructure
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
local wtfdbfile = "/home/mikael/.mcabber/lua/mcbot/wtfdb.txt"
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
16
064a50911e05 Update command infrastructure
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
     4
local wtf = { ["desc"] = "Acronym dictionary" }
064a50911e05 Update command infrastructure
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
     5
064a50911e05 Update command infrastructure
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
     6
function wtf.cmd (args)
0
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     7
    local r = {}
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
    if not args then return nil, "WTH do you want?" end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
    args = args:gsub("[%s%?%.%!]+$", ""):upper()
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
    for line in io.lines(wtfdbfile) do
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
        if line:starts(args.."\t") then
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
            table.insert(r, line)
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
        end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
    end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    15
    local len = table.getn(r)
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
    if len == 0 then
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    17
        return nil, "I don't know, Sir"
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
    end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
    local strresult = r[1]
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    20
    for i = 2, len do
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    21
        strresult = strresult .. "\n" .. r[i]
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
    end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
    return strresult
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
mcbot_register_command("wtf", wtf)