刚接触骰子的lua教程没多久,写了一个三点饮茶的关键词回复,代码如下:
`msg_order={}

function drink_tea(msg)
local hour=tonumber (os.date(‘%H’))
if (hour == 15) then
return “是时候饮茶了。”
else
return “不是时候,这才”..hour..“点呢。”
end
end
msg_order[“饮茶”]=“drink_tea”`

然后我想在此基础上加一个回复,就是当我说过“饮茶”这个关键词并且hour ==15时,我再说“饮茶”,骰子就回复“正在饮茶中。”
卡在这一步了……希望得到指点,谢谢!

同为新手,我分享一点我的想法:
如果需要在骰子在15点第二次与第一次接收到饮茶指令时回复的语句不同,那就需要给骰子设置一个"是否饮茶中"的状态,在接收饮茶指令时检测这个状态。
这涉及到信息的存取,而dice提供了存取用户/群聊配置项的函数。
那么要做的其实很简单,如果时间为15点,检测骰子"是否饮茶中"状态,若为否,则将此状态设置为是,并回复第一种语句;若为是,则回复第二种语句。
如:

msg_order={}
function drink_tea(msg)
    local hour=tonumber (os.date("%H"))
    if (hour == 15) then
        if getUserToday(getDiceQQ(), "饮茶", false) then
            return "正在饮茶中。"
        else
            setUserToday(getDiceQQ(), "饮茶", true)
            return "是时候饮茶了。"
        end
    else
        return "不是时候,这才"..hour.."点呢。"
    end
end
msg_order["饮茶"]="drink_tea"
    说点什么吧...