首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >微信机器人自动回复插件,自动同意自动回复消息,python综合微信模块~~~

微信机器人自动回复插件,自动同意自动回复消息,python综合微信模块~~~

原创
作者头像
用户11719788
发布2025-07-13 18:47:39
发布2025-07-13 18:47:39
1.1K0
举报

成品分享下载地址:https://www.pan38.com/yun/share.php?code=JCnzE 提取密码:7780【仅供分享】

我这里要说明一下 这个是之前易语言论坛的一位大神分享的python微信综合模块,模块支持的功能非常多,比如自动同意,好友消息检测,关键词自动回复这些功能,那么我这里分享的仅仅只是他所支持的部分核心功能,这个微信机器人包含自动同意好友请求、关键词自动回复、群消息处理、定时任务等功能模块。使用时需要安装itchat和wxpy库,可通过pip install itchat wxpy安装。机器人支持文本、图片、语音等多种消息类型处理,并可通过配置文件自定义回复规则。

源码部分:还是python代码,没有开发能力的建议直接用现成的模块

代码语言:txt
复制

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import itchat
import time
import re
from threading import Thread
from wxpy import *

# 初始化机器人
bot = Bot(cache_path=True)

# 自动接受好友请求
@bot.register(msg_types=FRIENDS)
def auto_accept_friends(msg):
    if '加群' in msg.text.lower():
        msg.card.accept()
        return "已接受好友请求,请发送'进群'获取入群链接"
    else:
        msg.card.accept()
        return "你好,我是AI助手,回复'帮助'获取功能列表"

# 关键词自动回复
REPLY_RULES = {
    r'你好|hello|hi': '你好呀!',
    r'帮助|功能': '''可用功能:
1. 天气查询:发送"天气 城市"
2. 翻译:发送"翻译 内容"
3. 计算器:发送"计算 表达式"''',
    r'天气\s+(.+)': lambda x: f'正在查询{x.group(1)}的天气...',
    r'计算\s+(.+)': lambda x: str(eval(x.group(1)))
}

# 消息处理函数
@bot.register([TEXT, PICTURE, RECORDING, VIDEO])
def auto_reply(msg):
    try:
        if msg.type == TEXT:
            content = msg.text
            for pattern, reply in REPLY_RULES.items():
                if re.match(pattern, content, re.I):
                    if callable(reply):
                        return reply(re.match(pattern, content, re.I))
                    else:
                        return reply
        return "抱歉,我不明白你的意思,回复'帮助'查看功能"
    except Exception as e:
        print(f"处理消息出错: {e}")

# 群消息处理
@bot.register(Group, TEXT)
def group_reply(msg):
    if msg.is_at:
        return f"@{msg.member.name} 我在呢!需要什么帮助?"
    elif '禁言' in msg.text and msg.member.is_owner:
        return "@全体成员 大家注意发言规范哦~"
    elif '签到' in msg.text:
        return f"@{msg.member.name} 签到成功!"

# 定时任务
def schedule_task():
    while True:
        now = time.strftime("%H:%M")
        if now == "08:00":
            groups = bot.groups().search('技术交流')
            for group in groups:
                group.send("早安!今日技术早报已更新...")
        time.sleep(60)

# 启动定时任务线程
Thread(target=schedule_task, daemon=True).start()

# 保持运行
if __name__ == '__main__':
    print("微信机器人已启动...")
    embed()
代码语言:txt
复制
# 机器人配置
CONFIG = {
    "admin": ["你的微信昵称"],  # 管理员列表
    "blacklist": [],           # 黑名单
    "autoreply": True,         # 开启自动回复
    "accept_friends": True,    # 自动接受好友
    "keywords": {              # 自定义关键词回复
        "紧急": "请联系管理员 @xxx",
        "投诉": "请描述具体情况"
    },
    "schedule": {              # 定时任务配置
        "morning_msg": "08:00",
        "night_msg": "22:00"
    }
}

# 数据库配置
DATABASE = {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "123456",
    "db": "wechat_bot"
}

代码语言:txt
复制
 json
import requests
from datetime import datetime

def save_msg(msg):
    """保存聊天记录"""
    with open('chat_history.log', 'a', encoding='utf-8') as f:
        f.write(f"{datetime.now()} - {msg.sender}: {msg.text}\n")

def get_weather(city):
    """获取天气信息"""
    url = f"http://wthrcdn.etouch.cn/weather_mini?city={city}"
    try:
        res = requests.get(url).json()
        data = res['data']
        return f"{city}天气:{data['forecast'][0]['type']},温度:{data['forecast'][0]['low']}~{data['forecast'][0]['high']}"
    except:
        return "天气查询失败"

def translate(text):
    """简单翻译功能"""
    url = "http://fanyi.youdao.com/translate"
    params = {
        "doctype": "json",
        "type": "AUTO",
        "i": text
    }
    res = requests.get(url, params=params).json()
    return res['translateResult'][0][0]['tgt']

def load_config():
    """加载配置文件"""
    with open('config.py', 'r', encoding='utf-8') as f:
        return json.load(f)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档