host error什么意思_Python编程与酷Q会擦出什么样的火花?腾讯QQ最新版机器人开发

c71e267896b2ce7ce14fe909281a1cbd.png

介绍coolq机器人上一些链接和我使用遇到的一些问题

酷Q,是一款基于smartQQ协议功能强大而又免费的腾讯QQ机器人,它可以实现自动审核他人申请入群、自动踢人、自动管理群等自动化操作。重要的是,酷Q还能实现自动群聊、自动聊天,起到活跃腾讯QQ群气氛的重要作用,节省您的宝贵时间。最最重要的是酷Q机器人拥有强大的可扩展属性,能根据自己的需求二次开发出相应的功能的插件。

总结:营销程序神器啊!

API配置文档 看到懂就直接看API,需要改一些参数,在你运行一次酷Q后 会自动生成一些文件,在

CQP-xiaoi酷Q Prodataappio.github.richardchien.coolqhttpapiconfig 前提是你已经安装好了插件

找到你的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"}
6091a227093bd1ed80cb55dd98453c4e.png

然后我说一些坑吧:

第一个:注意air和pro版的区别。注意看官网信息,air不能发图片,发语音。代码不会报错。但是你即使发不了(卡了我1个小时,才发现没充钱....)

第二个:CQ码,必踩的坑。需要转化为相应的格式!慢慢百度吧......

第三个:是怎么在群里当别人没@你的时候,我给出一种解决办法:修改一个地方的参数,我发现有些信息,会忽视,因为不是at me 所以我如果把信息都改为假的at me 不就好了么。

下面是解决办法

在Libsite-packagesonebot 找到message.py 这个文件,打开,找到

def _check_at_me(bot: NoneBot, ctx: Context_T) -> None:

这个方法就是判断是否是@机器人 我们在最后面加上

ctx['to_me'] = True # 这里 默认设置所有的都和我有关

然后你就会发现所有的信息都会处理了,问题也来了。怎么过滤掉没用的信息(我想的办法就是设置权限,判断信息来源,然后是否发送信息,新手怕挨骂,自己加了好多本地文件......,用来读取数据),自己琢磨吧

第四个:怎么对加好友处理呢,虽然api上面有,但是我怎么接受和判断那个消息呢

(我 一直没看懂源代码........)

解决办法:

还是搜索源文件,然后修改!写了几天这个机器人代码了,类比的猜测on_request,就是对加好友请求判断。

然后测试一下

@on_requestasync 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('问题一:您找我有什么事吗?回答:', '')    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)+" 同意加好友失败"+str(remark))  # 反馈信息 

然后发现可以!nice~

然后再结合Python爬虫实现一些好玩的功能(我主要是因为没空转发群里的信息,然后手机还坏了......)

下面是我已经实现的功能:.

"群聊命令:"

"点赞命令:赞、赞我"

"看新闻命令:新闻、我要看新闻"

"天气查询:天气、天气预报、查天气"

"看帅哥、美女、动漫、流鼻涕、秀肌肉、收钱"

"课表查询:课表、看课表、今天上什么课?、今天上什么课"

"添加某人进群黑名单:badman @某某"

"清理群黑名单:clear_badman"

"添加某人进管理员:add_admin @某某"

"初始化管理员:clear_admin"

"切换模式:切换模式、'exchange、关闭聊天、别吵"

"屏蔽某人私聊:关闭私聊、有脾气了 +qq号码"

"清空私聊屏蔽:clear屏蔽、清空屏蔽、clear 屏蔽"

07f25fc38e827f4769817591c8bd8c41.png

部分文档内容:

https://cqhttp.cc/docs/4.7/#/Configuration

配置

配置文件支持 INI 和 JSON 两种格式,并支持单个文件配置多个账号,或每个账号对应一个配置文件。

插件启动时(或重启时)按如下顺序依次尝试加载配置文件,一旦有一条加载成功,就停止加载(所有路径均为相对于 dataappio.github.richardchien.coolqhttpapi 的相对路径):

  • config.(cfg|ini)(扩展名的括号和竖线表示优先加载 .cfg,若没有,则加载 .ini,下同),文件中通用配置需要放在 [general] 下,腾讯QQ 号特定配置放在 [] 下
  • configgeneral.(cfg|ini) + config.(cfg|ini),前者是通用配置,全部放在 [general] 下,后者是 QQ 号特定配置,全部放在 [] 下,后者覆盖前者中已存在的内容
  • config.json,通用配置需放在根对象的 general 字段,腾讯QQ 号特定配置放在 腾讯QQ 号对应字段,例如 {"general": {"host": "0.0.0.0"}, "123456": {"port": 6666}}
  • configgeneral.json + config.json,配置项均直接放在根对象,后者覆盖前者中已存在的内容

重要:如果配置文件中需要使用中文或其它非 ASCII 字符,则必须使用 UTF-8 without BOM 编码保存文件!

几种典型的配置文件安排方式

使用 INI 格式,在单个文件中存放多个账号的配置

  • dataappio.github.richardchien.coolqhttpapiconfig.ini
[general]host = 0.0.0.0post_url = http://192.168.0.11:8888[12345678]access_token = Mgep4rV49rM8Jfport = 5700[87654321]port = 5701

使用 JSON 格式,在单个文件中存放多个账号的配置

  • dataappio.github.richardchien.coolqhttpapiconfig.json
{    "general": {        "host": "0.0.0.0",        "post_url": "http://127.0.0.1:8080"    },    "12345678": {        "access_token": "Mgep4rV49rM8Jf",        "port": 5700    },    "87654321": {        "port": 5701    }}

使用 JSON 格式,每个账号对应一个配置文件

  • dataappio.github.richardchien.coolqhttpapiconfiggeneral.json
{    "host": "0.0.0.0",    "post_url": "http://127.0.0.1:8080"}
  • dataappio.github.richardchien.coolqhttpapiconfig12345678.json
{    "access_token": "Mgep4rV49rM8Jf",    "port": 5700}
  • dataappio.github.richardchien.coolqhttpapiconfig87654321.json
{    "port": 5701}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些关于 Python 在线编程实现网络编程和 socket 实现在线聊天机器人的建议。 首先,您可以使用 Python 的 socket 模块来实现网络编程和在线聊天机器人。该模块提供了创建套接字(socket)对象的函数,可以使用 TCP 或 UDP 协议与其他计算机进行通信。 下面是一个简单的 Python 聊天机器人示例: ```python import socket # 创建套接字 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 获取本地主机名 host = socket.gethostname() # 设置端口号 port = 9999 # 绑定端口号 s.bind((host, port)) # 设置最大连接数,超过后排队 s.listen(5) while True: # 建立客户端连接 clientsocket, addr = s.accept() print("连接地址:%s" % str(addr)) msg = '欢迎访问我的聊天机器人!' + "\r\n" clientsocket.send(msg.encode('utf-8')) while True: data = clientsocket.recv(1024).decode('utf-8') print("客户端消息:%s" % str(data)) # 回复消息 msg = '你说了:%s' % data + "\r\n" clientsocket.send(msg.encode('utf-8')) ``` 在上面的示例中,我们首先创建了一个套接字对象,并使用 `bind()` 函数将其绑定到本地主机和端口号。然后,我们使用 `listen()` 函数设置最大连接数,并在 `while` 循环中等待客户端连接。一旦客户端连接到服务器,我们将发送欢迎消息,并在 `while` 循环中接收和发送消息。 您可以根据需要修改此示例,将其用作在线聊天机器人。一种方法是使用 Python 的自然语言处理库,例如 NLTK 或 SpaCy,处理和生成聊天消息。 希望这些信息对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值