mcbot/cmds/wtf.lua
author Mikael Berthe <mikael@lilotux.net>
Tue, 27 Nov 2012 16:36:17 +0100
changeset 67 5c756a9d7d8c
parent 66 d9c00a9fe9d5
permissions -rw-r--r--
Quick'n dirty hack to remove hardcoded paths
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
66
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     1
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     2
--  This module is part of the McBot / mcabbot project
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     3
--  What-The-F... module.
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     4
--
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     5
-- Copyright (C) 2010-2012 Mikael Berthe <mikael@lilotux.net>
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     6
--
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     7
-- This program is free software; you can redistribute it and/or modify
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     8
-- it under the terms of the GNU General Public License as published by
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
     9
-- the Free Software Foundation; either version 2 of the License, or (at
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
    10
-- your option) any later version.
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
    11
--
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
    12
-- Please check the license in the COPYING file at the root of the tree.
d9c00a9fe9d5 Add notices before public release
Mikael Berthe <mikael@lilotux.net>
parents: 16
diff changeset
    13
--
0
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
67
5c756a9d7d8c Quick'n dirty hack to remove hardcoded paths
Mikael Berthe <mikael@lilotux.net>
parents: 66
diff changeset
    15
local home = os.getenv("HOME")
5c756a9d7d8c Quick'n dirty hack to remove hardcoded paths
Mikael Berthe <mikael@lilotux.net>
parents: 66
diff changeset
    16
local wtfdbfile = home.."/.mcabber/mcabbot/mcbot/wtfdb.txt"
5c756a9d7d8c Quick'n dirty hack to remove hardcoded paths
Mikael Berthe <mikael@lilotux.net>
parents: 66
diff changeset
    17
home = nil
0
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
16
064a50911e05 Update command infrastructure
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
    19
local wtf = { ["desc"] = "Acronym dictionary" }
064a50911e05 Update command infrastructure
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
    20
064a50911e05 Update command infrastructure
Mikael Berthe <mikael@lilotux.net>
parents: 0
diff changeset
    21
function wtf.cmd (args)
0
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
    local r = {}
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
    if not args then return nil, "WTH do you want?" end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
    args = args:gsub("[%s%?%.%!]+$", ""):upper()
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
    for line in io.lines(wtfdbfile) do
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
        if line:starts(args.."\t") then
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    27
            table.insert(r, line)
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    28
        end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    29
    end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
    local len = table.getn(r)
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
    if len == 0 then
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    32
        return nil, "I don't know, Sir"
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
    end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
    local strresult = r[1]
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    35
    for i = 2, len do
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    36
        strresult = strresult .. "\n" .. r[i]
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    37
    end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    38
    return strresult
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    39
end
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    40
89add07d6fe4 Initial revision
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    41
mcbot_register_command("wtf", wtf)