有关go-cqhttp QQ机器人的一些小问题
- 基础介绍
- 介绍一些名词
- ***2022-04-07更新***
- 小问题汇总:
基础介绍
go-cqhttp机器人是基于onebot协议的一个应用,官网:https://docs.go-cqhttp.org/可以制作QQ机器人。娱乐性还是蛮强的。之前研究的时候发现网上的教程对于一些里面的一些介绍很模糊,同时官网的文档也不是很清晰。
本人编写小白,所有理解都是建立在自己的基础上,如果有解释错误请谅解
介绍一些名词
在go-cqhttp(下面统称cqhttp)中下载exe文件后运行会生成一个bat可执行文件,打开bat文件看到的应该就是这样一个东西,目前只研究了1和3,选择13确定后会生成一个yml的配置文件
第一个坑:
填写QQ号的时候需要选中‘123456’然后复制或者手打上去,后面的空格不能少,如果少了就会出现错误!!!
http通信中
一个正向一个反向!正向就是使用requests或者其他爬虫模块发起请求,带上文档中的参数就可以了
但是!反向默认是空的,这个是用来监听事件的,比如,如果你的机器人要发送一个信息就应该用正向,
实例:
requests.get('http://127.0.0.1:5700/send_private_msg?user_id=对方的QQ号&message=发送内容').json()
反向则是在本地搭建一个服务器,比如使用flask或者Django搭建一个路由
配置好django的urls后,在view中接受信息,即可监听事件
原理:反向http请求是直接搭建一个服务器,cqhttp监听QQ,比如别人给你发送了一个QQ信息,然后cqhttp就会把这个信息使用post的方式发送到你服务器里面,监听和发送在配置的时候不能是一个端口
但是总所周知http没有ws稳定(我也不知道ws是啥,但是网上这么说的)
所以有大神已经把轮子给我们造出来了,我们使用就可以了,目前我使用的是nonebot2,官网:https://v2.nonebot.dev/
吃个饭,后面有人看了 有时间再写
2022-04-07更新
好像有人看了,再说说基础的东西。如果是纯小白,只想搞个机器人发个信息装个逼的话。
必要条件:
- python
- 手
- CV键
- 电脑(实在不行把内存条含在嘴里运行
1. 前往GitHub下载cqhttp(看上面
2. 双击cqhttp.exe文件,会出现一个黑框框并且会告诉你要使用安全模式,点击确定生成bat文件
3. 点击bat,不需要输入13,输入一个0就可以了,因为我们现在不使用nonebot,只需要使用http协议4. (发现
4. 然后设置好yml文件,账号,密码(看上面,也可以不设置,直接点击bat,不过要记住上面这个host和port5. 再次点击bat文件
↑ 正确的运行,这个叫日志
INFO是提示信息。
WARNING是警告但是不影响程序运行。
如果出现ERROR说明你程序寄了或者离寄不远了。
祝大家远离风控
然后!展示成果的时候了
打开浏览器会吧
输入网址会吧
回车会吧
输入这玩意。然后回车
# 5438 我port设置的是5438所以这样填5438
# send_private_msg 发送私聊信息语法
# user_id 你要发送的人的QQ号,需要先加好友
# message 发送内容
http://127.0.0.1:5438/send_private_msg?user_id=xxxxxx&message=hello world
其他更多的api语法查看cqhttp官网即可
小问题汇总:
遇到这玩意,把yml的port改一下就可以了,81-10000都可以改,最好别改常用的端口