Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ DC-клиенты _ Чат бот для greylink

Автор: KURAGE 13.7.2010, 20:55

Помогите сделать чтоб бот за место [NICK] подставлял ник юзера...

Код
dcpp = {}

BotSay = {
    {
        ["question"] = {"всем привет",},
        ["answer"] = {"[NICK]: привет",},
    },
}

function dcpp.OnPublicMessage(cid, msg)
        local userInfo = DC():GetUserInfo(cid)
         if (userInfo.ME ~= "1") then
          local huburl = userInfo.HL
           for _, mini_table in pairs(BotSay) do
            for _, trigger in pairs(mini_table["question"]) do
             if string.find(msg, trigger) then
              DC():SendPublicMessage(huburl, mini_table["answer"][math.random(1,table.getn(mini_table["answer"]))])
                                        return nil
                                end
                        end
                end
        end

        return nil
end

Заранее спасибо!

Автор: Setuper 13.7.2010, 22:06

Код
DC():SendPublicMessage(huburl, mini_table["answer"][math.random(1,table.getn(mini_table["answer"]))]:gsub("%[NICK%]", userInfo.NI))

Автор: KURAGE 13.7.2010, 22:50

Цитата(Setuper @ 13.7.2010, 23:06) *
Код
DC():SendPublicMessage(huburl, mini_table["answer"][math.random(1,table.getn(mini_table["answer"]))]:gsub("%[NICK%]", userInfo.NI))

Код
dcpp = {}

BotSay = {
    {
        ["question"] = {"всем привет",},
        ["answer"] = {"[NICK] привет",},
    },
    {
        ["question"] = {"всем пока",},
        ["answer"] = {"[NICK]! не уходи!!!",},
    },
}

function dcpp.OnPublicMessage(cid, msg)
        local userInfo = DC():GetUserInfo(cid)
         if (userInfo.ME ~= "1") then
          local huburl = userInfo.HL
           for _, mini_table in pairs(BotSay) do
            for _, trigger in pairs(mini_table["question"]) do
             if string.find(msg, trigger) then
              DC():SendPublicMessage(huburl, mini_table["answer"][math.random(1,table.getn(mini_table["answer"]))]:gsub("%[NICK%]", userInfo.NI))
                                        return nil
                                end
                        end
                end
        end

        return nil
end

не хочет работать