当前位置: 移动技术网 > IT编程>脚本编程>Python > itchat-python搭建微信机器人(附示例)

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

2019年07月21日  | 移动技术网IT编程  | 我要评论

淘宝一元秒杀技巧,渔人之家,滋味小说网

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

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

安装

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'收到了'
 

图灵聊天机器人

在图灵机器人官网()注册账号,创建机器人,如果只是学习的话,可以使用免费版,一个账号最多可以创建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()

参考:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网