Python实现微信聊天机器人
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.md
WeChatter.py

README.md

微信聊天机器人

漫漫长夜,排解寂寞

功能

微信自动回复机器人

采用了对微信公众号「微软小冰」进行自动转发的机制,对于每一条接收的消息,自动转发到微软小冰,再将微软小冰的回复自动转发到消息的来源账号。

每日确认运行状态

考虑到微信官方的反机器人机制,如果机器人无法在手机上保持活跃(如手机关机),微信号就会被强制下线。此处设置一个定时发送,每日特定时间向特定账号(监视账号)发动一条消息来确认机器人在正常运行。 在代码的第9行完成定时发送的时间和内容设置:

    task_list = [("00:01", "I'm stay'in alive")]

在代码的第17行完成监视账户设置:

    receiver = itchat.search_friends(name="Yzstr")[0]["UserName"]

设置聊天监视账号

将聊天机器人的对话记录转发到指定的监视账号,并注明发送人用户名。

README-record-2-2018725

在代码的第69行和第94行完成监视账户设置:

    receiver = itchat.search_friends(name=u"Yzstr")[0]["UserName"]

使用方法

首先确认itChatapscheduler两个库已经被安装。

桌面环境

完成配置以后,可以直接运行

    python WeChatter.py

此时微信登陆二维码会被自动加载和打开,扫描二维码即可运行。

服务器环境

考虑到服务器没有桌面也没有图片查看器,需要使用命令行来加载二维码。
将代码第106行改为:

    itchat.auto_login(hotReload=True,enableCmdQR=2)  

其中enableCmdQR参数可以用来设置缩放比例,0表示不使用命令行加载二维码,1表示按原大小显示。
经过测试,在enableCmdQR=2时,二维码在PuTY或者Xshell上都会有较好效果。
如果要在服务器后台运行而不是一直开着终端,可以使用nohup来保持:

    nohup python -u WeChatter.py

注意,使用nohup时,建议将参数enableCmdQR设为1.