Beispiel #1
0
def group_msg(msg):
    """接收群消息"""
    # 群@转发功能
    if msg.is_at and msg.bot.is_forward_group_at_msg:
        msg.forward(msg.bot.master,
                    prefix='「{0}」在群「{1}」中艾特了你:'.format(msg.member.name,
                                                       msg.chat.name))

    if msg.type == TEXT:
        # 群回复
        if msg.bot.is_group_reply:
            if msg.bot.is_group_at_reply:
                # @机器人才回复
                if msg.is_at:
                    wx_reply.auto_reply(msg)
            else:
                # 不用@直接回复
                wx_reply.auto_reply(msg)
    elif msg.type == SHARING and msg.bot.is_listen_sharing and msg.chat in msg.bot.listen_sharing_groups:
        # 群分享转发监控,防止分享广告
        msg.forward(msg.bot.master,
                    prefix='分享监控:「{0}」在「{1}」分享了:'.format(
                        msg.member.name, msg.chat.name))
    else:
        pass
    # 监听好友群聊,如老板讲话
    if msg.bot.is_listen_friend and msg.chat in msg.bot.listen_friend_groups and msg.member.is_friend in msg.bot.listen_friends:
        msg.forward(msg.bot.master,
                    prefix='监听指定好友群消息:「{0}」在「{1}」发了消息:'.format(
                        msg.member.is_friend.remark_name
                        or msg.member.nick_name, msg.chat.name))
    return None
Beispiel #2
0
def friend_msg(msg):          # 接受好友消息
    if not msg.bot.is_friend_auto_reply:
        return None
    if msg.type == TEXT:      # 回复的是文字,自动回复
        if '*' in msg.text:
            # print(msg)
            result = wx_reply.face_reply(msg)
            # result_reply = bot.upload_file(result)
            # result_reply = msg.chat
            # msg.chat.send_image(result)
            msg.reply_image(result)
        else:
            wx_reply.auto_reply(msg)
            return None
    elif msg.type == PICTURE:    # 回复的是图片,识别图片
        image_name = msg.file_name
        # msg = msg.get_file('' + msg.file_name)     # 使回复的消息生成图片文件
        msg = msg.get_file(image_name)
        result_finish = wx_reply.baidu_result(image_name)   # 调用识别函数
        if os.path.exists(image_name):
            os.remove(image_name)
        return result_finish      # 返回识别结果
    elif msg.type == RECORDING:
        return '不停不停,王八念经'
    else:
        pass
Beispiel #3
0
def group_msg(msg):
    if msg.is_at and msg.bot.is_forward_group_at_msg:
        msg.forward(msg.bot.master,
                    prefix='{0} @ you in {1}:'.format(msg.member.name,
                                                      msg.chat.name))

    if msg.type == TEXT:
        if msg.bot.is_group_reply:
            if msg.bot.is_group_at_reply:
                if msg.is_at:
                    wx_reply.auto_reply(msg)
            else:
                wx_reply.auto_reply(msg)
    elif msg.type == SHARING and msg.bot.is_listen_sharing and msg.chat in msg.bot.listen_sharing_groups:
        msg.forward(msg.bot.master,
                    prefix='Sharing listener:{1} shared in {0}:'.format(
                        msg.member.name, msg.chat.name))
    else:
        pass
    if msg.bot.is_listen_friend and msg.chat in msg.bot.listen_friend_groups and msg.member.is_friend in msg.bot.listen_friends:
        msg.forward(
            msg.bot.master,
            prefix='Listen specific friend:{0} send msg in {1}:'.format(
                msg.member.is_friend.remark_name or msg.member.nick_name,
                msg.chat.name))
    return None
Beispiel #4
0
def friend_msg(msg):
    """接收好友消息"""
    if not msg.bot.is_friend_auto_reply:
        return None
    if msg.type == TEXT:
        wx_reply.auto_reply(msg)
        return None
    else:
        pass
Beispiel #5
0
def friend_auto_reply(msg):
    # if not msg.bot.is_frined_auto_reply:
    #     return None
    if msg.type == TEXT:
        wx_reply.auto_reply(msg)
        return None
    elif msg.type == RECORDING:
        return '不停'
    else:
        pass
Beispiel #6
0
def friend_msg(msg):
    """接收好友消息"""
    if not msg.bot.is_friend_auto_reply:
        return None
    if msg.type == TEXT:
        wx_reply.auto_reply(msg)
        return None
    elif msg.type == RECORDING:
        return '不停不停,王八念经'
    else:
        pass
Beispiel #7
0
def friend_msg(msg):
    if not msg.bot.is_friend_auto_reply:
        return None
    if msg.type == TEXT:
        my_friend = bot.friends().search('enable')[0]
        print(my_friend)
        if my_friend:
            wx_reply.auto_reply(msg)
            return None
    elif msg.type == RECORDING:
        return 'I can not understand'
    else:
        pass
Beispiel #8
0
def group_msg(msg):
    """接收群消息"""
    groups_list = [
        bot.groups().search(v)[0] for v in config.listen_zy_groups.keys()
    ]
    key = config.group_type[config.listen_zy_groups[msg.chat.name]]
    print(groups_list, key)
    # 群@转发功能
    if bot.is_forward_mode:
        if msg.is_at and msg.bot.is_forward_group_at_msg:
            for item in bot.forward_groups:
                msg.forward(item,
                            prefix='「{0}」在群「{1}」中艾特了你:'.format(
                                msg.member.name, msg.chat.name))

        # 监听销售资源-群聊,如xx资源群
        if msg.bot.is_listen_zy_groups and msg.chat in groups_list:
            for ci in config.keyword[key]:
                if ci in msg.text:
                    for item in bot.forward_groups:
                        msg.forward(
                            item,
                            prefix='监听指定销售资源-群消息:「{0}」在「{1}」发了消息:'.format(
                                msg.member.is_friend.remark_name
                                or msg.member.nick_name, msg.chat.name))

        # 监听好友群聊,如老板讲话
        if msg.bot.is_listen_friend and msg.chat in msg.bot.listen_friend_groups and msg.member.is_friend in msg.bot.listen_friends:
            for item in bot.forward_groups:
                msg.forward(item,
                            prefix='监听指定好友群消息:「{0}」在「{1}」发了消息:'.format(
                                msg.member.is_friend.remark_name
                                or msg.member.nick_name, msg.chat.name))

    if msg.type == TEXT:
        # 是否所有群自动回复:否
        if not msg.bot.is_group_reply:
            # print(msg.chat, msg.chat in msg.bot.white_list, msg.chat not in msg.bot.black_list,msg.bot.white_list, msg.bot.black_list)
            if msg.chat in msg.bot.white_list and msg.chat not in msg.bot.black_list:
                if len(msg.text) < 50:
                    if msg.bot.is_group_at_reply:
                        # @机器人才回复
                        if msg.is_at:
                            # 监听销售资源-群聊,如xx资源群
                            if msg.bot.is_listen_zy_groups and msg.chat in groups_list:
                                wx_reply.auto_reply(msg, 'zy', key)
                            else:
                                wx_reply.auto_reply(msg, 'other', key)
                    else:
                        # 不用@直接回复
                        if msg.bot.is_listen_zy_groups and msg.chat in groups_list:
                            wx_reply.auto_reply(msg, 'zy', key)
                        else:
                            wx_reply.auto_reply(msg, 'other')
        # 是否所有群自动回复:是
        else:
            if msg.chat in msg.bot.black_list:
                if len(msg.text) < 50:
                    if msg.bot.is_group_at_reply:
                        # @机器人才回复
                        if msg.is_at:
                            # 监听销售资源-群聊,如xx资源群
                            if msg.bot.is_listen_zy_groups and msg.chat in groups_list:
                                wx_reply.auto_reply(msg, 'zy', key)
                            else:
                                wx_reply.auto_reply(msg, 'other')
                    else:
                        # 不用@直接回复
                        if msg.bot.is_listen_zy_groups and msg.chat in groups_list:
                            wx_reply.auto_reply(msg, 'zy', key)
                        else:
                            wx_reply.auto_reply(msg, 'other')
    # 群分享监控
    elif msg.type == SHARING and msg.bot.is_listen_sharing and msg.chat in msg.bot.listen_sharing_groups:
        # 群分享转发监控,防止分享广告
        msg.forward(msg.bot.master,
                    prefix='分享监控:「{0}」在「{1}」分享了:'.format(
                        msg.member.name, msg.chat.name))
    return None