wxpy: 用 Python 玩微信机器人

安装:

pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

代码:

# coding:utf-8
from wxpy import *

# 实例化,并登录微信
bot = Bot(cache_path=True)

# 查找到要使用机器人来聊天的好友
#my_friend = bot.friends().search('xxx')[0]
my_friend = ensure_one(bot.search(u'xxx'))

# 调用图灵机器人API
#api_key可以网上找,也可以到官网注册http://www.tuling123.com/
tuling = Tuling(api_key='759e94b5631f4cc39d9de36b1a3e0811') # 4a0488cdce684468b95591a641f0971d

# 使用图灵机器人自动与指定好友聊天
@bot.register(my_friend)

def reply_my_friend(msg):
    tuling.do_reply(msg)

embed()
bot.logout

itchat版本代码:

import requests
import itchat

#像图灵机器人官网注册申请http://www.tuling123.com/
KEY = '2c242b43e94a4e0ca984629828d4e164'

def get_response(msg):
    # 构造了要发送给服务器的数据
    # 使用图灵机器人提供的接口
    apiUrl = 'http://www.tuling123.com/openapi/api'
    #一个发动的api的数据
    data = {
        'key'    : KEY,
        'info'   : msg,
        'userid' : 'wechat-robot',
    }
    try:
        #使用post方法去请求
        r = requests.post(apiUrl, data=data).json()
        # 字典的get方法在字典没有'text'值的时候会返回None而不会抛出异常
        return r.get('text')
    # 为了防止服务器没有正常响应导致程序异常退出,这里用try-except捕获了异常
    # 如果服务器没能正常交互(返回非json或无法连接),那么就会进入下面的return
    except:
        # 将会返回一个None
        return

# 使用装饰器
@itchat.msg_register(itchat.content.TEXT)
#获取图灵机器人返回的数据
#处理图灵机器人出现异常的时候
def tuling_reply(msg):
    # 为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复
    defaultReply = 'I received: ' + msg['Text']
    # 如果图灵Key出现问题,那么reply将会是None
    reply = get_response(msg['Text'])
    # a or b的意思是,如果a有内容,那么返回a,否则返回b
    # 有内容一般就是指非空或者非None,你可以用`if a: print('True')`来测试
    return reply or defaultReply

# 为了让实验过程更加方便(修改程序不用多次扫码),我们使用热启动
itchat.auto_login(hotReload=True)
itchat.run()

参考:

wxpy: 用 Python 玩微信

用python玩微信(聊天机器人,好友信息统计)

转载于:https://my.oschina.net/u/2245781/blog/1926214

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值