python编程和机器人编程(Python编程与酷Q会擦出什么样的火花)
python编程和机器人编程(Python编程与酷Q会擦出什么样的火花){ "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_interva
介绍coolq机器人上一些链接和我使用遇到的一些问题
酷Q,是一款基于smartQQ协议功能强大而又免费的腾讯QQ机器人,它可以实现自动审核他人申请入群、自动踢人、自动管理群等自动化操作。重要的是,酷Q还能实现自动群聊、自动聊天,起到活跃腾讯QQ群气氛的重要作用,节省您的宝贵时间。最最重要的是酷Q机器人拥有强大的可扩展属性,能根据自己的需求二次开发出相应的功能的插件。
总结:营销程序神器啊!
API配置文档 看到懂就直接看API,需要改一些参数,在你运行一次酷Q后 会自动生成一些文件,在
CQP-xiaoi\酷Q Pro\data\app\io.github.richardchien.coolqhttpapi\config 前提是你已经安装好了插件
找到你的QQ号的JSON文件
私信小编001即可获取大量Python学习资料!
复制下面的替换,有个网址和你python代码的网址和端口要一致。然后再运行就可以使用了。
{
"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": "github"
"update_channel": "stable"
"auto_check_update": false
"auto_perform_update": false
"show_log_console": false
"log_level": "info"
}
第一个:注意air和pro版的区别。注意看官网信息,air不能发图片,发语音。代码不会报错。但是你即使发不了(卡了我1个小时,才发现没充钱....)
第二个:CQ码,必踩的坑。需要转化为相应的格式!慢慢百度吧......
第三个:是怎么在群里当别人没@你的时候,我给出一种解决办法:修改一个地方的参数,我发现有些信息,会忽视,因为不是at me 所以我如果把信息都改为假的at me 不就好了么。
下面是解决办法
在\Lib\site-packages\nonebot 找到message.py 这个文件,打开,找到
def _check_at_me(bot: NoneBot ctx: Context_T) -> None:
这个方法就是判断是否是@机器人 我们在最后面加上
ctx['to_me'] = True # 这里 默认设置所有的都和我有关
然后你就会发现所有的信息都会处理了,问题也来了。怎么过滤掉没用的信息(我想的办法就是设置权限,判断信息来源,然后是否发送信息,新手怕挨骂,自己加了好多本地文件......,用来读取数据),自己琢磨吧
第四个:怎么对加好友处理呢,虽然api上面有,但是我怎么接受和判断那个消息呢
(我 一直没看懂源代码........)
解决办法:
还是搜索源文件,然后修改!写了几天这个机器人代码了,类比的猜测on_request,就是对加好友请求判断。
然后测试一下
@on_request
async def add_friend(session: RequestSession):
message = session.ctx['comment'] # 回答的问题
flag = session.ctx['flag'] # 获得flag 用于同意加好友
user_id = session.ctx['user_id'] # 加我好友的QQ号
t = time.strftime("%m-%d" time.localtime(time.time()))
message = str(message).replace('问题一:您找我有什么事吗?\n回答:' '')
print(message)
print('回答的问题:' str(message)) # 注意数据清洗
remark = str(t) str(message)
await session.bot.set_friend_add_request(flag=flag approve=True remark=remark)
try:
message = '初学者_ym很高兴为你服务:不好意思,主人暂时不在线。有急事请拨打电话。' \
'如果需要紧急联系请输入:emergency'
await session.bot.send_private_msg(user_id=user_id message=message)
except:
await session.bot.send_private_msg(user_id=qq message="QQ:" str(user_id) " 同意加好友失败\n" str(remark)) # 反馈信息
然后发现可以!nice~
然后再结合Python爬虫实现一些好玩的功能(我主要是因为没空转发群里的信息,然后手机还坏了......)
下面是我已经实现的功能:.
"群聊命令:\n"
"点赞命令:赞、赞我\n"
"看新闻命令:新闻、我要看新闻\n"
"天气查询:天气、天气预报、查天气\n"
"看帅哥、美女、动漫、流鼻涕、秀肌肉、收钱\n"
"课表查询:课表、看课表、今天上什么课?、今天上什么课\n"
"添加某人进群黑名单:badman @某某\n"
"清理群黑名单:clear_badman\n"
"添加某人进管理员:add_admin @某某\n"
"初始化管理员:clear_admin\n"
"切换模式:切换模式、'exchange、关闭聊天、别吵\n"
"屏蔽某人私聊:关闭私聊、有脾气了 qq号码\n"
"清空私聊屏蔽:clear屏蔽、清空屏蔽、clear 屏蔽\n"
部分文档内容:
cqhttp/docs/4.7/#/Configuration
配置配置文件支持 INI 和 JSON 两种格式,并支持单个文件配置多个账号,或每个账号对应一个配置文件。
插件启动时(或重启时)按如下顺序依次尝试加载配置文件,一旦有一条加载成功,就停止加载(所有路径均为相对于 data\app\io.github.richardchien.coolqhttpapi 的相对路径):
- config.(cfg|ini)(扩展名的括号和竖线表示优先加载 .cfg,若没有,则加载 .ini,下同),文件中通用配置需要放在 [general] 下,腾讯QQ 号特定配置放在 [<user_id>] 下
- config\general.(cfg|ini) config\<user_id>.(cfg|ini),前者是通用配置,全部放在 [general] 下,后者是 QQ 号特定配置,全部放在 [<user_id>] 下,后者覆盖前者中已存在的内容
- config.json,通用配置需放在根对象的 general 字段,腾讯QQ 号特定配置放在 腾讯QQ 号对应字段,例如 {"general": {"host": "0.0.0.0"} "123456": {"port": 6666}}
- config\general.json config\<user_id>.json,配置项均直接放在根对象,后者覆盖前者中已存在的内容
重要:如果配置文件中需要使用中文或其它非 ASCII 字符,则必须使用 UTF-8 without BOM 编码保存文件!
几种典型的配置文件安排方式
使用 INI 格式,在单个文件中存放多个账号的配置
- data\app\io.github.richardchien.coolqhttpapi\config.ini
[general]
host = 0.0.0.0
post_url = 192.168.0.11:8888
[12345678]
access_token = Mgep4rV49rM8Jf
port = 5700
[87654321]
port = 5701
使用 JSON 格式,在单个文件中存放多个账号的配置
- data\app\io.github.richardchien.coolqhttpapi\config.json
{
"general": {
"host": "0.0.0.0"
"post_url": "127.0.0.1:8080"
}
"12345678": {
"access_token": "Mgep4rV49rM8Jf"
"port": 5700
}
"87654321": {
"port": 5701
}
}
使用 JSON 格式,每个账号对应一个配置文件
- data\app\io.github.richardchien.coolqhttpapi\config\general.json
{
"host": "0.0.0.0"
"post_url": "127.0.0.1:8080"
}
- data\app\io.github.richardchien.coolqhttpapi\config\12345678.json
{
"access_token": "Mgep4rV49rM8Jf"
"port": 5700
}
- data\app\io.github.richardchien.coolqhttpapi\config\87654321.json
{
"port": 5701
}