微信上的python训练营_python-在微信上假装我是小冰

本篇使用到的相关库为itchat

在itchat库的入门中,已经介绍了实现最简单的与图灵机器人的交互,刚上手使用,于是也想弄一个微信的智能聊天机器人,想到平时偶尔会调戏微软小冰,于是就有了这么一个构想。

用到的代码可以在我的github里找到,下面也会贴出。在我的github里还有一些其他的小代码,比如批量下载CVPR paper的,还有使用python发送邮件的,都是一些很基本的应用,表示python小白入门也没多久,如果大家觉的有意思或者有帮助可以给我加星星。

假装我是小冰,这个思路也很简单,就是别人发送一条信息给我,我把信息原封不动地转发给小冰,小冰的回复我再原封不动地发给发送信息给我的那个人。如果有人问,那不就相当于直接和小冰聊天吗?直接和小冰聊天就行了,你这样有什么用呢?好吧,那我只能回答你,没什么用,只是自己弄着玩而已。既然是我自己玩的话,我开心就好。

下面其实就是聊天的过程,我那舍友也是够懒的,一直复制粘贴=。=

如果没有安装itchat,可以以下代码进行安装。

pip install itchat

关于itchat的详细说明和使用大家可以在这里查看。

下面就是完整的程序代码 IamIce.py

#coding=utf-8

import itchat

from itchat.content import *

import pdb

global name

@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING], True, False, False)

# get text and send to XiaoIce # 将文字等信息转发给小冰

def send_xiaoice(msg):

global name

name = msg['FromUserName']

itchat.send(msg['Text'],toUserName='xiaoice-ms')

@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO], True, False, False)

# get img and send to XiaoIce # 将图片等信息转发给小冰

def send_xiaoice(msg):

global name

name = msg['FromUserName']

msg['Text'](msg['FileName'])

itchat.send('@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName']), toUserName='xiaoice-ms')

@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING], False, False, True)

# get text and send to Sender # 将小冰回复的文字等信息转发给发送者

def send_reply(msg):

global name

itchat.send(msg['Text'],name)

@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO], False, False, True)

# get img and send to Sender 将小冰回复的图片等信息转发给发送者

def send_xiaoice(msg):

global name

msg['Text'](msg['FileName'])

itchat.send('@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName']), name)

itchat.auto_login(hotReload=True)

itchat.run()

目前支持图片、文字的聊天,如果使用图片,运行速度上相对来说比较慢,别人发了张图片过来可能需要过几秒钟才能回复。而且测试发现,所有聊天中的图片都会保存到IamIce.py的对应目录下,相当于聊天的缓存了。

初步测试图片和文字都没什么问题,如果在运行中遇到什么问题或者有什么改进的地方,希望各路大神批评指正。

写到最后突然想对自己说一声:你也真是够无聊的(●'◡'●)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值