itchat-python搭建微信机器人(附示例)

作者:lsn 加油鸭 时间:2022-05-04 00:00:54 

itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息。比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分析…

本文只是简单实现聊天机器人,想了解更多关于itchat的用法请参照:https://itchat.readthedocs.io/zh/latest/

安装


pip install itchat

登录


itchat.auto_login(hotReload=True)

执行后会出现一个二维码,扫码登录。hotReload=True可以保留登录状态,以至于往后的重启程序可以跳过扫码登录。

消息类型

参数类型
TEXT文本
MAP位置
CARD名片
SHARING分享
PICTURE图片表情
RECORDING语音
ATTACHMENT附件
VIDEO小视频

发送消息


send(msg='text',toUserName=None)
  • msg:发送的内容

  • toUserName:发送对象,None表示自己

内容类型:

  • 图片:@img@img_path

  • 视频:@vid@vid_path

  • 文件:@fil@file_path

ps:接收到的附件路径一般默认存放在当前路径的msg[‘FileName']下

注册会话监听


#TEXT:监听的消息类型
@itchat.msg_register(TEXT)
def text_reply(msg):
#过滤掉某人,NickName是昵称
 if msg.User['NickName'] == 'xxx':
   pass
 else:
   # return_text = tuling(msg.text)
   #这种send方法会自己回复自己的消息
   # msg.user.send(u'收到了')
   #只回复对方的消息
   return u'收到了'

图灵聊天机器人

在图灵机器人官网(http://www.tuling123.com)注册账号,创建机器人,如果只是学习的话,可以使用免费版,一个账号最多可以创建5个机器人,一个机器人日调用接口数5000次。


#申请机器人后会拿到一个key
key = '3c925fbee6f84ad2aa032ab05d4581b0'
def tuling(info):
 url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (key, info)
 r = requests.get(url)
 #返回消息
 return r.json().get('text')

附上完整代码(文本图片群聊)


# coding: utf-8
# @Time  : 2019/2/20 23:32
# @Author : lsn
# @File  : itchat_demo.py
# @Software: PyCharm
import itchat
import requests
from itchat.content import *

key = '3c925fbee6f84ad2aa032ab05d4581b0'

def tuling(info):
 url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (key, info)
 r = requests.get(url)
 return r.json().get('text')

@itchat.msg_register(TEXT)
def text_reply(msg):
 if msg.User['NickName'] == 'xxx':
   pass
 else:
   return_text = tuling(msg.text)
   # msg.user.send(return_text)
   return return_text

@itchat.msg_register(
 [PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
 print msg['Type']
 print msg['FileName']
 msg['Text'](msg['FileName'])
 return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'])

@itchat.msg_register(TEXT, isGroupChat=True)
def group_text_reply(msg):
 group_list = list()
 # 针对指定群回复
 group_list.append(u'弹一弹')
 group_list.append(u'养生游戏分享')
 # 当然如果只想针对@你的人才回复,可以设置if msg['isAt']:
 if msg.User['NickName'] in group_list:
   return tuling(msg.text)
 else:
   pass

itchat.auto_login(hotReload=True)
itchat.run()

参考:https://www.jb51.net/article/162809.htm

来源:https://blog.csdn.net/auto_mind/article/details/87868705

标签:python,itchat,微信机器人
0
投稿

猜你喜欢

  • 如何在MySQL数据库中使用XML数据

    2009-12-29 10:48:00
  • 高效地获取XMLhttp对象

    2010-01-19 13:49:00
  • Sql Server 2000内存调整

    2010-04-25 11:24:00
  • asp之自动闭合HTML/ubb标签函数+简单注释

    2008-09-29 12:21:00
  • Python安装依赖(包)模块方法详解

    2023-11-02 15:38:01
  • 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法

    2023-09-11 15:11:50
  • Mysql入门系列:MySQL数据目录的位置

    2008-11-24 12:59:00
  • python将html转成PDF的实现代码(包含中文)

    2023-08-30 18:11:58
  • 用ASP实现Google在线文章翻译的功能

    2008-10-11 13:55:00
  • 如何禁止搜索引擎收录你的网站

    2008-10-20 12:57:00
  • ASP实现最简洁的多重查询的解决方案

    2007-09-28 12:00:00
  • 如何使用w3 upload上传组件上传文件?

    2010-05-16 15:11:00
  • ASP截取中英文字符串固定长度

    2009-08-19 17:12:00
  • MySQL 数据编码 latin1 转 UTF8

    2010-10-14 14:20:00
  • javascript 45种缓动效果(一)

    2009-09-19 18:30:00
  • show一下刚做的系统登录界面

    2008-09-13 19:13:00
  • 函数式JavaScript编程指南

    2007-12-08 20:39:00
  • ASP技术访问WEB数据库

    2023-07-11 22:50:09
  • 用ASP实现远程批量文件改名

    2007-09-12 12:23:00
  • HTML5 声明兼容IE的写法

    2011-06-06 10:34:00
  • asp之家 网络编程 m.aspxhome.com