微信机器人自动回复插件,vx自动回复机器人脚本助手,python框架分享

简介: 这个微信机器人系统包含三个主要模块:主程序基于itchat实现微信消息监听和自动回复功能

下载地址:https://www.pan38.com/yun/share.php?code=JCnzE 提取密码:8872

代码说明:这个微信机器人系统包含三个主要模块:主程序基于itchat实现微信消息监听和自动回复功能,支持文本、图片等多种消息类型;增强功能模块提供消息日志、好友管理和规则配置等高级功能;配置文件集中管理各项参数。系统整合了图灵机器人API实现智能对话,并支持关键词触发和定时任务。

import itchat
from itchat.content import TEXT, PICTURE, MAP, CARD, NOTE, SHARING
import requests
import time
import threading

图灵机器人配置

TULING_API_KEY = "485712b8079e44e1bc4af10872b08319" # 替换为你的API KEY
TULING_URL = "http://www.tuling123.com/openapi/api"

登录状态回调

def login_callback():
print("微信登录成功!")
itchat.send("微信机器人已启动", toUserName="filehelper")

def exit_callback():
print("微信已退出登录")

获取图灵机器人回复

def get_tuling_response(msg):
data = {
'key': TULING_API_KEY,
'info': msg,
'userid': 'wechat-robot'
}
try:
r = requests.post(TULING_URL, data=data).json()
return r.get('text', '我听不懂你在说什么')
except Exception as e:
print("图灵API请求失败:", e)
return "网络开小差了,请稍后再试"

关键词自动回复配置

REPLY_RULES = {
"你好": ["你好呀!", "嗨~", "您好!"],
"在吗": ["我在呢", "随时为您服务"],
"谢谢": ["不客气~", "这是我的荣幸"],
"再见": ["再见,祝您愉快", "下次再见哦"]
}

消息处理函数

@itchat.msg_register([TEXT, PICTURE, MAP, CARD, NOTE, SHARING])
def handle_message(msg):

# 消息类型判断
if msg['Type'] == TEXT:
    content = msg['Text']
    sender = msg['User']['NickName']
    print(f"收到{sender}的文本消息: {content}")

    # 关键词匹配回复
    for keyword in REPLY_RULES:
        if keyword in content:
            return random.choice(REPLY_RULES[keyword])

    # 图灵机器人回复
    return get_tuling_response(content)

elif msg['Type'] == PICTURE:
    return "[自动回复]收到图片,稍后查看"
elif msg['Type'] == SHARING:
    return "[自动回复]收到分享链接,感谢分享"
else:
    return "[自动回复]暂不支持此类型消息"

定时任务

def schedule_task():
while True:

    # 每小时发送一次提醒
    current_hour = time.localtime().tm_hour
    if 9 <= current_hour <= 18:
        itchat.send("工作时段自动提醒:记得喝水休息哦", toUserName="filehelper")
    time.sleep(3600)

if name == 'main':

# 登录微信(热登录模式)
itchat.auto_login(
    hotReload=True,
    loginCallback=login_callback,
    exitCallback=exit_callback,
    statusNotify=True
)

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

# 保持运行
itchat.run()

sqlite3
from datetime import datetime

class MessageLogger:
def init(self):
self.conn = sqlite3.connect('wechat_msg.db')
self.create_table()

def create_table(self):
    cursor = self.conn.cursor()
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS messages (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            sender TEXT NOT NULL,
            content TEXT,
            msg_type TEXT,
            create_time DATETIME DEFAULT CURRENT_TIMESTAMP
        )
    ''')
    self.conn.commit()

def log_message(self, sender, content, msg_type):
    cursor = self.conn.cursor()
    cursor.execute('''
        INSERT INTO messages (sender, content, msg_type)
        VALUES (?, ?, ?)
    ''', (sender, content, msg_type))
    self.conn.commit()

def get_message_count(self, sender=None):
    cursor = self.conn.cursor()
    if sender:
        cursor.execute('SELECT COUNT(*) FROM messages WHERE sender=?', (sender,))
    else:
        cursor.execute('SELECT COUNT(*) FROM messages')
    return cursor.fetchone()[0]

class AutoReplyManager:
def init(self):
self.rules = {}
self.load_rules()

def add_rule(self, keyword, replies):
    self.rules[keyword] = replies
    self.save_rules()

def remove_rule(self, keyword):
    if keyword in self.rules:
        del self.rules[keyword]
        self.save_rules()

def load_rules(self):
    # 从文件或数据库加载规则
    self.rules = REPLY_RULES  # 示例中使用内存规则

def save_rules(self):
    # 保存规则到文件或数据库
    pass

class FriendManager:
@staticmethod
def get_friends():
return itchat.get_friends(update=True)

@staticmethod
def search_friend(name):
    return itchat.search_friends(name=name)

@staticmethod
def send_to_friend(name, content):
    friend = itchat.search_friends(name=name)
    if friend:
        itchat.send(content, toUserName=friend[0]['UserName'])
        return True
    return False

微信机器人配置
CONFIG = {
"auto_reply": {
"enable": True,
"reply_delay": 1.5, # 回复延迟(秒)
"night_mode": {
"enable": True,
"start_time": "23:00",
"end_time": "08:00",
"reply_msg": "夜间模式自动回复:我已休息,明天回复您"
}
},
"tuling": {
"api_key": "your_api_key_here",
"timeout": 10
},
"database": {
"path": "wechat_data.db",
"backup_interval": 86400 # 每天备份一次
}
}

关键词回复规则

KEYWORD_REPLIES = {
"你好": ["你好!", "Hi~", "您好"],
"帮助": ["输入以下关键词获取帮助:\n1. 天气\n2. 新闻\n3. 笑话"],
"时间": lambda: f"当前时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
}

相关文章
|
30天前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
1月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
1月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
29天前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
29天前
|
Shell Android开发 Python
微信多开脚本,微信双开器脚本插件,autojs开源代码分享
AutoJS脚本实现安卓端微信多开,通过无障碍服务 Python脚本提供跨平台解决方案,自动检测微信安装路径
|
1月前
|
JSON API 数据安全/隐私保护
【干货满满】分享拼多多API接口到手价,用python脚本实现
拼多多开放平台提供商品价格查询API,通过“pdd.ddk.goods.detail”接口可获取商品基础价、优惠券、拼团价等信息。结合client_id、client_secret及签名机制实现身份认证,支持推广位ID获取专属优惠。本文提供完整Python实现,涵盖签名生成、接口调用与价格解析逻辑,适用于比价工具、导购平台等场景。
|
28天前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现
|
29天前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
30天前
|
前端开发 Shell API
深度分析58同城API接口,用Python脚本实现
58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。
|
1月前
|
JSON API 数据安全/隐私保护
【干货满满】分享京东API接口到手价,用python脚本实现
淘宝开放平台提供丰富API,通过商品详情接口与淘宝联盟接口,可获取含优惠券、满减后的商品到手价。本文介绍基于Python的实现方案,涵盖签名生成、接口调用、价格解析及错误处理,适用于比价工具、导购平台等场景。

推荐镜像

更多