今天大佬用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行代码带你打造一个微信聊天机器人,真神了~

python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~

如何快速开发个微信小程序

用Python分析了数千个微信昵称后,发现了这些秘密!

用Python做个微信秒回器,再也不怕挨骂啦!