Exemplo n.º 1
0
def main():
   sm = StateMachine()
   sm.register(state_no_match)
   sm.register(state_one_match)
   sm.register(state_both_match)

   some_string = "hello and welcome to you"
   initial_state = State()
   print sm.evaluate(initial_state, some_string)
   current_state = State()
   some_string_2 = "you and welcome to hello"
   print sm.evaluate(current_state, some_string_2)
Exemplo n.º 2
0
                logger.debug("send sms return %s" % ret)
                value['sendTime'] = time.time()
                value['sendNum'] += 1
                self.store(info.user, value)
                text = u"已经给您发送了一条短信,请查收"
        elif info.text == u"换手机号" or info.text == u"换手机":
            if time.time() < value['sendTime'] + 2 * 60:
                text = u'刚给你发送了短信,请2分钟后没收到,再“换手机号”'
            elif value['sendNum'] > 5:
                text = u'今天已经给你发送了太多短信了,请明天再来吧'
                self.timeout = 12 * 3600
                self.store(info.user, value)
            else:
                value['state'] = 1
                self.store(info.user, value)
                text = u"请输入新的手机号"
        else:
            text = u"您输入的验证码有误,请再看一下"
        return text

    def deal(self, value, info):
        state = value['state']
        if state == 1:
            text = self.checkState1(value, info)
        elif state == 2:
            text = self.checkState2(value, info)
        return BuildConfig(MessageBuilder.TYPE_RAW_TEXT, None, text)


StateMachine.register(1, VerifyPhone())
Exemplo n.º 3
0
                ret = send_sms(value['phone'], u"验证码是%s,15分钟内有效" % verifyCode)
                logger.debug("send sms return %s" % ret)
                value['sendTime'] = time.time()
                value['sendNum'] += 1
                self.store(info.user, value)
                text = u"已经给您发送了一条短信,请查收"
        elif info.text == u"换手机号" or info.text == u"换手机":
            if time.time() < value['sendTime'] + 2 * 60:
                text = u'刚给你发送了短信,请2分钟后没收到,再“换手机号”'
            elif value['sendNum'] > 5:
                text = u'今天已经给你发送了太多短信了,请明天再来吧'
                self.timeout = 12 * 3600
                self.store(info.user, value)
            else:
                value['state'] = 1
                self.store(info.user, value)
                text = u"请输入新的手机号"
        else:
            text = u"您输入的验证码有误,请再看一下"
        return text

    def deal(self, value, info):
        state = value['state']
        if state == 1:
            text = self.checkState1(value, info)
        elif state == 2:
            text = self.checkState2(value, info)
        return BuildConfig(MessageBuilder.TYPE_RAW_TEXT, None, text)

StateMachine.register(1, VerifyPhone())