python酷q机器人_python qq机器人开发 利用Python读取QQ消息
0.安装nonebot,酷q
pip3 install nonebot
在酷q官网下载:https://cqp.cc/t/23253 air图灵版
安装coolq-http-api
网页地址:https://richardchien.gitee.io/coolq-http-api/docs/4.12/#/
并将其放在酷Qair的app文件夹中
运行CQA.exe
在悬浮窗里点击应用管理启用http api
在data/app/io.github.richardchien.coolqhttpapi/config/下可以看到一个以你登录QQ号命名
的.json文件
打开该文件然后找到下面三个配置项
ws_reverse_api_url
ws_reverse_event_url
use_ws_reverse
改为
{
"host": "[::]",
"port": 5700,
"use_http": true,
"ws_host": "[::]",
"ws_port": 6700,
"use_ws": false,
"ws_reverse_url": "",
"ws_reverse_api_url": "ws://127.0.0.1:8080/ws/api/",
"ws_reverse_event_url": "ws://127.0.0.1:8080/ws/event/",
"ws_reverse_reconnect_interval": 3000,
"ws_reverse_reconnect_on_code_1000": true,
"use_ws_reverse": true,
"post_url": "",
"access_token": "",
"secret": "",
"post_message_format": "string",
"serve_data_files": false,
"update_source": "china",
"update_channel": "stable",
"auto_check_update": false,
"auto_perform_update": false,
"show_log_console": true,
"log_level": "info"
}
1.尝试
import nonebot
if __name__ == "__main__":
nonebot.init()
nonebot.load_builtin_plugins()
nonebot.run(host='127.0.0.1', port=8080)
运行该程序,我们可以在控制台看到如下日志:
ujson module not found, using json
msgpack not installed, MsgPackSerializer unavailable
[2020-02-16 20:57:45,401 nonebot] INFO: Succeeded to import "nonebot.plugins.base"
[2020-02-16 20:57:45,401 nonebot] INFO: Running on 127.0.0.1:8080
Running on http://127.0.0.1:8080 (CTRL + C to quit)
[2020-02-16 20:57:45,457] Running on 127.0.0.1:8080 over http (CTRL + C to quit)
[2020-02-16 20:57:47,067] 127.0.0.1:2990 GET /ws/api/ 1.1 101 - 17916
[2020-02-16 20:57:47,101] 127.0.0.1:2991 GET /ws/event/ 1.1 101 - 26923
[2020-02-16 20:57:47,124] INFO in __init__: received event: meta_event.lifecycle.connect
[2020-02-16 20:57:56,424] INFO in __init__: received event: message.private.friend
可以看到现在程序运行在了本地的 8080 端口,而且本地的 6568 和 6569 端口也连接到了本服务,就是我们在 HTTP API 插件的配置文件中做的配置
试下发送:/echo 你好
控制台:
[2020-02-16 21:01:28,975 nonebot] INFO: Self: 371631503, Message 8 from 296853751: /echo 你好`
[2020-02-16 21:01:28,975 nonebot] DEBUG: Parsing command: /echo 你好`
[2020-02-16 21:01:28,976 nonebot] DEBUG: Matched command start: /
[2020-02-16 21:01:28,977 nonebot] DEBUG: Split command name: ('echo',)
[2020-02-16 21:01:28,981 nonebot] DEBUG: Command ('echo',) found, function:
[2020-02-16 21:01:28,983 nonebot] DEBUG: New session of command ('echo',) created
[2020-02-16 21:01:28,990 nonebot] DEBUG: Running command ('echo',)
[2020-02-16 21:01:29,152 nonebot] DEBUG: Session of command ('echo',) finished
[2020-02-16 21:01:29,152 nonebot] INFO: Message 8 is handled as a command
并且 机器人回复我们你好,这时候我们可以确定成功了
2.增加功能
增加 config.py 文件,输入内容如下:
from nonebot.default_config import *
SUPERUSERS = {12345}
创建一个MyBot文件夹,在里面创建一个plugins文件夹
在里面创建一个bot.py文件
结构如下:
├── MyBot
│ └── plugins
│ └── bot.py
├── main.py
└── config.py
修改main.py
import nonebot
import config
from os import path
if __name__ == "__main__":
nonebot.init(config)
nonebot.load_plugins(
path.join(path.dirname(__file__),"MyBot","plugins"),
"MyBot.plugins"
)
nonebot.run(host='127.0.0.1', port=8080)
ujson module not found, using json
msgpack not installed, MsgPackSerializer unavailable
[2020-02-16 21:15:48,202 nonebot] INFO: Succeeded to import "MyBot.plugins.bot"
[2020-02-16 21:15:48,202 nonebot] INFO: Running on 127.0.0.1:8080
Running on http://127.0.0.1:8080 (CTRL + C to quit)
[2020-02-16 21:15:48,239] Running on 127.0.0.1:8080 over http (CTRL + C to quit)
[2020-02-16 21:15:48,550] 127.0.0.1:3426 GET /ws/event/ 1.1 101 - 14952
[2020-02-16 21:15:48,572] 127.0.0.1:3427 GET /ws/api/ 1.1 101 - 12883
[2020-02-16 21:15:48,576] INFO in __init__: received event: meta_event.lifecycle.connect
命令行提示import成功
修改bot.py
import nonebot
from nonebot import on_request,RequestSession
from nonebot import on_notice,NoticeSession
bot = nonebot.get_bot()
@bot.on_message("private")
async def _(ctx):
print(ctx)
@bot.on_message("group")
async def _(ctx):
print(ctx)
@on_request("group")
async def _(session:RequestSession):
if session.ctx["comment"] =="python"
await session.approve()
return
await session.reject("请说暗号")
@on_notice('group_increase')
async def _(session:NoticeSession):
print("欢迎新人入群")
python酷q机器人_python qq机器人开发 利用Python读取QQ消息相关推荐
- python编写死循环语句_Python 全栈开发:python循环语句while
while循环 为什么会有循环这种语句? 举一个简单的例子:我们想计算0-100以内偶数的和,这种时候就需要循环这种语句 那有人可能会说:这有什么 0+2+4+.......+98 一样可以计算出来啊 ...
- Python 酷Q qq机器人初学
Python 酷Q 本篇博客就简单的介绍用Python写酷Q插件的准备工作 1.安装Python3.7(32-bit) 我用的是Python37,因为目前仅支持Python32位版本,所以就只能用32 ...
- 基于酷Q的工作秘书机器人
代码地址如下: http://www.demodashi.com/demo/14617.html 环境准备 名称 版本 Jdk 8 groovy 2.4.12 gradle 4.6 酷Q 5.12.3 ...
- Python +酷Q机器人开发QQ群 机器人
安装酷Q机器人: https://cqp.cc/t/23253/ pip install nonebot 自己看着下载 **安装插件 ** https://pan.baidu.com/s/1qY55z ...
- python qq机器人开发 利用Python读取QQ消息
0.安装nonebot,酷q pip3 install nonebot 在酷q官网下载:https://cqp.cc/t/23253 air图灵版 安装coolq-http-api 网页地址:http ...
- python编程控制机器人_python人工智能机器人工具书籍: Learn Robotics Programming 2018
简介 人工智能和智能机器人将精确有效地执行不同的任务. Raspberry Pi和Python的组合在制作这些机器人时非常有效. 本书首先向您介绍机器人的基本结构,以及如何规划,构建和编程. 当您完成 ...
- 32岁学python有前途吗_Python发展前景如何?学习Python游戏开发有前途吗?
Python发展前景如何?学习Python游戏开发有前途吗? 时间:2018-04-02 15:48:31 | 来源:千锋教育 | 作者:alents 学习Python的人都知道一句话:人生苦短,我用 ...
- Python 酷q,踩坑粗记,用慕晓飞大神的sdk
一.安装,此处坑在文档中都有,需要注意的是vs_redit用x86的,文档上的地址我没有试,直接用2008-2019的64位就没成功,安上32位的2017就可以加载dll和json这些文件了 二.当时 ...
- python发送excel文件_Python操作Excel, 开发和调用接口,发送邮件
接口开发: importflaskimporttoolsimportjson,redisimportrandom server= flask.Flask(__name__)#新建一个服务,把当前这个p ...
最新文章
- Selenium 1.0的历史及工作原理
- tableau可视化函数使用案例(六十六)-Tableau折线图作图方法(凹凸图、弧线图和雷达图)
- OpenHub框架进行的异步通信
- java简单纸牌游戏_活动回顾 | 畅玩法语纸牌游戏
- WCMS V9方向说明
- [Python笔记]第一篇:基础知识
- 求一个字符串中所有字符的组合
- java 文件比对(四)-- 使用 diffutils
- qt里的pushButton中的clicked(bool);用法
- POJ 6184 【三元环 +分治】
- Windows 10配置远程开机
- 引导mysql执行计划_Mysql执行计划详解
- 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(二)
- Segment Routing基础知识
- C语言课设项目-51单片机-数码管
- scanf/fscanf 的%[]和%n使用方法
- 概率论,加法原理,乘法原理,古典概型
- win7-休眠按钮设置
- 一维声子晶体的谱有限元方法
- Android 各个平台的加密算法的了解
热门文章
- 计网 | Cisco Packet Tracer下模拟交换机及VLAN配置实验记录
- 鲍威尔法源程序码matlab,鲍威尔算法matlab程序f.doc
- 【PMP备考经验分享】从选择培训机构到5A通关,你需要做什么?
- 通过ActiveWorkbook.Sheets.Add将新表插入到最后的代码
- 如何连接ftp服务器
- 23、Java——常见异常的原因和解决办法
- 全新Thinkphp养我吧宠物区块链网站源码+可封装APP源码 免费下载 源码搭建教程
- ryujinx模拟器linux安装教学,Switch模拟器 Ryujinx 安装使用过程 不定期更新软件及相关附件...
- 使用 EasyPoi 完成复杂一对多 excel 表格导出功能
- Word文档中如何添加外部超链接