mcbot/mcbot_engine.lua
changeset 16 064a50911e05
parent 6 7cf014d0d206
child 18 615c9b336207
equal deleted inserted replaced
15:203b49c24dde 16:064a50911e05
    11 
    11 
    12 function string.starts(String,Start)
    12 function string.starts(String,Start)
    13    return string.sub(String, 1, string.len(Start)) == Start
    13    return string.sub(String, 1, string.len(Start)) == Start
    14 end
    14 end
    15 
    15 
    16 function mcbot_register_command (name, callback)
    16 function mcbot_register_command (name, object)
    17     commands[name] = callback
    17     commands[name] = object
    18 end
    18 end
    19 
    19 
    20 require "cmds.wtf"
    20 require "cmds.wtf"
    21 require "cmds.calc"
    21 require "cmds.calc"
    22 require "cmds.spell"
    22 require "cmds.spell"
    36     if not cmd then
    36     if not cmd then
    37         -- Check if there are arguments
    37         -- Check if there are arguments
    38         cmd, arg = line:match("^(%w+)%s+(.*)")
    38         cmd, arg = line:match("^(%w+)%s+(.*)")
    39     end
    39     end
    40     if cmd then
    40     if cmd then
    41         for name, f in pairs(commands) do
    41         for name, obj in pairs(commands) do
    42             if cmd and cmd:lower() == name then
    42             if cmd and cmd:lower() == name then
    43                 return f(arg, botdata)
    43                 return obj.cmd(arg, botdata)
    44             end
    44             end
    45         end
    45         end
    46     else
    46     else
    47         -- Ignore smileys
    47         -- Ignore smileys
    48         if line:match("^[:;8]'?%-?[D()|/\\%[%]pPoO$@]+%s*$") then return nil,nil end
    48         if line:match("^[:;8]'?%-?[D()|/\\%[%]pPoO$@]+%s*$") then return nil,nil end