今天大佬用python写个微信机器人,类似某平台讲自动欢迎自动发邀请等
Posted 编程界的小胖子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今天大佬用python写个微信机器人,类似某平台讲自动欢迎自动发邀请等相关的知识,希望对你有一定的参考价值。
开始
首先,你需要有python的环境,使用python3暂时请通过github安装,修改过的版本,ItChat官方一直使用web接口并未修复,所以只能自己上
pip3 install git+https://github.com/yizhihuamao/ItChat.git
复制代码
查看下是否安装成功
pip3 list
itchat 1.4.0
复制代码
看到了这家伙说明成功了
初始化
import itchat
from itchat.content import *
# 接收单聊的一般消息,文本,地图,名片,通知,分享
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):
print('msg', msg)
msg.user.send('xxx%s: %s' % (msg.type, msg.text))
itchat.auto_login(hotReload=False)
itchat.run(True)
复制代码
执行
python3 bot.py
复制代码
会跳出二维码,扫码即可登录
这边还可以优化下
# 并保存登录状态,第二次不需要扫码登录
itchat.auto_login(hotReload=False)
复制代码
也可以
# 在终端显示二维码,并保存登录状态,第二次不需要扫码登录
itchat.auto_login(hotReload=False, enableCmdQR=2)
复制代码
看需求了,扫码试试
看到了吗,这边是桌面微信登录
确定后发个消息试试
这就成功了一半了
单聊文本,地图,名片,通知,分享
上面初始化的时候就是这些,文本可以对接陪聊api,对语言规范下规则,可以简单实现查天气,查公交等等。
单聊多媒体
# 接收单聊的多媒体消息,图片,语音,视频,附件等
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
print('media', msg)
msg.download(msg.fileName)
typeSymbol = {
PICTURE: 'img',
VIDEO: 'vid', }.get(msg.type, 'fil')
return '@%s@%s' % (typeSymbol, msg.fileName)
复制代码
多媒体等附件会下载到项目目录,根据需要可以改到其他目录或oss都可以,语音可以对接api转文字,根据自然语言分析,记得之前有个出门问问公众号,就是这么玩的,发语音可以智能回答你的问题,有兴趣可以玩下。图片可以做搜索,比如淘宝搜图,也可以ai加工下生成艺术画,返回给用户,现在已经有类似的库了,视频,附件大家可以想象下,有啥好点子可以跟本喵同步下
好友申请
# 接收到好友申请自动回复
@itchat.msg_register(FRIENDS)
def add_friend(msg):
print('friend', msg)
msg.user.verify()
msg.user.send('Nice to meet you!')
复制代码
这个好像没啥好说的,看注释
群聊接收通知
# 接收通知
@itchat.msg_register(NOTE, isGroupChat=True)
def text_reply(msg):
# 自行正则匹配提取昵称,以及修改欢迎语
return msg.user.send(u'@xx 欢迎 %s' % (msg.text))
复制代码
这个就可以实现掘金酱在微信群里面发的欢迎语,比如某个新人进群,发个欢迎语;也可以发推广信息,不过@所有人不好使
群聊接收名片
# 接收分享的名片
@itchat.msg_register(CARD, isGroupChat=True)
def text_reply(msg):
print('CARD', msg)
复制代码
好像并没什么用,把名片发群里会触发
群聊分享
# 接收分享的文章,分享的群邀请等
@itchat.msg_register(SHARING, isGroupChat=True)
def text_reply(msg):
print('SHARING', msg)
复制代码
这个可以实现,比如分享一些无关的网页到群里面,我们统计下次数,超过多少次警告,超过多少次直接踢出去
群聊,文字,图片,录音,附件,视频等
# 接收群文本消息,对应还有 PICTURE, RECORDING, ATTACHMENT, VIDEO
@itchat.msg_register(TEXT, isGroupChat=True)
def text_reply(msg):
print('group', msg)
print(json.dumps(msg, sort_keys=True, indent=2))
# 被@了
if msg.isAt:
msg.user.send(u'@%s\\u2005I received: %s' % (
msg.actualNickName, msg.text))
复制代码
这个接口就可以实现之前看到群里优弧大佬也有用微信机器人,被@时会判断时间,如果时间超过比如11点,就直接回复:老子睡着了,有事明天撩!
应用场景
本喵还整理如下场景,更多好点子欢迎分享
- 单聊接口可以实现比如发送python,就推送python微信群的二维码,超过数量也可以模拟推送群邀请,本喵试过了,可以留作掘友们的作业。邀请链接和二维码都会过期,本喵还有个思路就是,快过期的时候,用群主号(因为邀请后面都要群主了)截图或者发分享给文件助手,写入数据库,就不用人工发群邀请或二维码了,也是无奈暂时没有邀请群的api
- 微信群500人上限,可以做多个群消息同步
- 自定义时段回复(优弧大佬同款机器人)
- 根据回复拉不同群
- 自动欢迎新群成员
- 群消息入库,备份、分析、统计、展示等
- 做第三方客户端,聊天工具,统计分析,考核客服(商业)
- 消息防止撤回
- 定时发送微信消息
- 消息监控,自定义回复消息
喜欢小胖子的记得点击关注不然会找不到小胖子哦~
以上是关于今天大佬用python写个微信机器人,类似某平台讲自动欢迎自动发邀请等的主要内容,如果未能解决你的问题,请参考以下文章
python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~
python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~