示例#1
0
def test_transfer_customer_service_reply_without_account():
    t = int(time.time())
    reply = TransferCustomerServiceReply(source='aaa', target='bbb', time=t)
    assert reply.render().strip() == """
            <xml>
            <ToUserName><![CDATA[bbb]]></ToUserName>
            <FromUserName><![CDATA[aaa]]></FromUserName>
            <CreateTime>{time}</CreateTime>
            <MsgType><![CDATA[transfer_customer_service]]></MsgType>
            </xml>
        """.format(time=t).strip()
示例#2
0
def test_transfer_customer_service_reply():
    t = int(time.time())
    reply = TransferCustomerServiceReply(source='aaa', target='bbb', time=t)
    assert reply.render().strip() == """
    <xml>
    <ToUserName><![CDATA[bbb]]></ToUserName>
    <FromUserName><![CDATA[aaa]]></FromUserName>
    <CreateTime>{time}</CreateTime>
    <MsgType><![CDATA[transfer_customer_service]]></MsgType>
    </xml>
    """.format(time=t).strip()
示例#3
0
文件: wxmsg.py 项目: endsh/chiki
        def on_subscribe(message):
            try:
                user = um.models.User.get_wechat(mp_openid=message.source)
                if not user:
                    user = um.models.User.from_wechat_mp(message.source)

                um.funcs.on_invite(user, int(message.key or 0))

                if self.subscribe_callback:
                    res = self.subscribe_callback(user, message)
                    if res:
                        return res

                if current_app.config.get('NEED_QRCODE') and not user.inviter:
                    return '%s,欢迎关注!请取消关注,再通过扫描海报二维码进行关注!' % user.nickname

                if not user.wechat_user.subscribe:
                    user.wechat_user.dosubscribe()

                follow_msg = Message.objects(follow=True).first()
                if follow_msg:
                    reply = follow_msg.reply(message)
                    if reply:
                        return reply
                default_msg = Message.objects(default=True).first()
                if default_msg:
                    reply = default_msg.reply(message)
                    if reply:
                        return reply
                return TransferCustomerServiceReply(message=message)
            except:
                current_app.logger.error(traceback.format_exc())
                return '系统繁忙,请稍后重试!'
示例#4
0
def help_with_similar(content: str, message) -> str:
    reply_record = AutoReply.query.get(content)
    if reply_record is not None:
        return json.loads(reply_record.response)
    keyword, _ = split_keyword(content)
    # get command not found help message
    helps = get_similar_help_for_user(wechat_command_reg, keyword, message)
    # No similar commands found
    if not helps:
        for command in wechat_command_reg.get_all():
            for keyword in command.keywords:
                if content.startswith(keyword):
                    return f'看起来想使用命令"{keyword}"但忘了在"{keyword}"后打空格?'
        return TransferCustomerServiceReply(message)
    # print similar commands
    return f'看起来命令"{keyword}"打错了? 可能的命令有:\n' + helps
示例#5
0
文件: wxmsg.py 项目: endsh/chiki
        def on_text(message):
            try:
                msg = Message.objects(keyword=message.content).first()
                if msg:
                    reply = msg.reply(message)
                    if reply:
                        return reply

                default_msg = Message.objects(default=True).first()
                if default_msg:
                    reply = default_msg.reply(message)
                    if reply:
                        return reply

                return TransferCustomerServiceReply(message=message)
            except:
                current_app.logger.error(traceback.format_exc())
                return '系统繁忙,请稍后重试!'
示例#6
0
def respond_image(message):
    return TransferCustomerServiceReply(message)