我尝试在 Lita 中实施一个小问卷作为样本:
您要为哪个系统打开呼叫?
SYS 缩写
你怎么了?
我忘记了我的密码
谢谢!您的电话已打开!
任何帮助我怎么能做到这一点?
所以,我试试这个:
module Lita
module Handlers
class Helpdesk < Handler
on :shut_down_complete, :clear_context
route(/^abrir chamado$/i, :abrir_chamado)
route(/^.*$/i, :motivo)
http.get '/info', :web
def motivo(response)
return unless context == 'abrir_chamado'
response.reply('Thanks! Your call was opened!')
clear_context
end
def abrir_chamado(response)
redis.set(:context, :abrir_chamado)
user = response.user
response.reply(
%(Hello #{user.name}, What is your problem?)
)
end
def context
@contetx ||= redis.get(:context)
end
def clear_context
redis.del(:context)
end
Lita.register_handler(Helpdesk)
end
end
end
但是当我注册时:informar_motivo route
,在通过之后:abrir_chamado route
,也是匹配的:informar_motivo
路线。
但是我需要:
我:阿布里尔查马多
Lita:您好,Shell 用户,您有什么问题?
我:我忘记密码了
丽塔:谢谢!您的电话已打开!