Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用。
时间:2022-07-25
本文章向大家介绍Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用。,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
首先你需要安装itchat库。
进入cmd,先直接pip install itchat
就好了。
我调的是图灵机器人的接口,可以了解一下: 图灵机器人的注册,图灵机器人api获取方式
微信机器人实现过程
开启的时候会弹出一个二维码,微信扫描后就会登陆了。 原理是网页版微信,那个二维码就是你网页版微信登陆的二维码。
详细的过程见代码里的注释。
# -*- coding: UTF8 -*-
import itchat
import requests
# 调用图灵的api获得一个回复,这个参数的msg就是接收到的消息内容
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data={
'key' : 'bd0a1aafaafd418bbdb6aa0a40f73859',
'info' : msg,
'userid': '小爱',
}
try:
r = requests.post(apiUrl, data=data).json()
return r.get("text")
except:
return
# 开启群消息和好友消息监控,要紧挨着你定义的方法,我定义的是tuling_reply。
@itchat.msg_register(itchat.content.TEXT,isFriendChat=True,isGroupChat=True)
def tuling_reply(msg): # 这个msg包括很多内容,我们接受到的消息是存在'Text'这个字段中
if 'ActualNickName' in msg:
# 当检测到有人@自己时,才会在群里回复
if msg['isAt']:
reply=get_response(msg['Text'])
else:
reply=""
else:
reply=get_response(msg['Text'])
return reply
# hotReload=Rrue就是记录你的登陆状态,省的每次都登陆,不想保留状态可以去掉这个参数
itchat.auto_login(hotReload=True)
itchat.run()
- 归并排序算法的编码和优化
- Kotlin语法基础之运算符
- Kotlin语法基础之控制流
- Kotlin 包和 import 语句使用
- 使用多个Target去管理项目版本环境
- Facebook iOS UI 工具ComponentKit简介
- 基于OpenCV的跳一跳外挂实现原理
- React Native 0.50版本新功能简介
- Android滤镜效果实现及原理分析
- Spring Boot入门及整合mybatis
- Swift开发React Native组件
- 深入理解Android插件化技术
- Kotlin DSL详解
- 大规模异常滥用检测:基于局部敏感哈希算法——来自Uber Engineering的实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Windows10中安装Docker
- Windows下Docker安装ClickHouse
- ArrayList源码分析(基于jdk1.8)(三):Arrays.asList方法带来的问题
- 对基本类型包装类常量池的补充
- 与IntegerCache有关的一个比较坑的面试题
- C# Foreach循环本质与枚举器
- Java中的时间和日期(一):有关java时间的哪些坑
- Java中的时间和日期(二):java时间存储的基本原理
- 常用SQL语句
- Java中的时间和日期(三):java8中新的时间API介绍
- Java中的时间和日期(四):与java8时间API有关的一些总结和补充
- Head First设计模式——策略模式
- 可重用性的6个级别
- 您可能不需要使用Vue 3的Vuex
- 谈一谈若干的K-V NoSQL应用:LevelDB、Redis、Tair、RockesDB