qq机器人 连接本地llm 注意这个c2c
tencent-connect/botpy: QQ频道机器人PythonSDKtencent-connect/botpy | DeepWiki2026-02-23 13:03:09,652 | INFO | _toolkit:register_agent_skill:1104 - Registered agent skill web_skill from directory skills\web_skill. 2026-02-23 13:03:09,653 | INFO | _toolkit:register_agent_skill:1104 - Registered agent skill ue_skill from directory skills\ue_skill. 2026-02-23 13:03:09,653 | INFO | _toolkit:register_agent_skill:1104 - Registered agent skill blenderskill from directory skills\blender_skill. 启动 QQ 机器人... 使用模型: 杜野りんせ 机器人已准备就绪等待消息... [INFO] (client.py:162)_bot_login [botpy] 登录机器人账号中... [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 6263 e:\code\my_python_server\.venv\lib\site-packages\botpy\http.py:153: DeprecationWarning: ssl.SSLContext() without protocol argument is deprecated. connectorTCPConnector(limit500, sslSSLContext(), force_closeTrue), e:\code\my_python_server\.venv\lib\site-packages\botpy\http.py:153: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated connectorTCPConnector(limit500, sslSSLContext(), force_closeTrue), [INFO] (client.py:181)_bot_init [botpy] 程序启动... [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1 [INFO] (client.py:242)bot_connect [botpy] 会话启动中... [INFO] (gateway.py:115)ws_connect [botpy] 启动中... e:\code\my_python_server\.venv\lib\site-packages\botpy\gateway.py:121: DeprecationWarning: ssl.SSLContext() without protocol argument is deprecated. async with ClientSession(connectorTCPConnector(limit10, sslSSLContext())) as session: e:\code\my_python_server\.venv\lib\site-packages\botpy\gateway.py:121: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated async with ClientSession(connectorTCPConnector(limit10, sslSSLContext())) as session: [INFO] (gateway.py:142)ws_identify [botpy] 鉴权中... [INFO] (gateway.py:85)on_message [botpy] 机器人「杜野凛世-测试中」启动成功 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动... (.venv) PS E:\code\my_python_server e:; cd e:\code\my_python_server; e:\code\my_python_server\.venv\Scripts\python.exe c:\Users\njsgcs\.lingma\extensions\ms-python.debugpy-2025.19.2026021801-win32-x64\bundled\libs\debugpy\launcher 65027 -- E:\code\my_python_server\front\qq\qqbot.py 2026-02-23 13:09:29,053 | INFO | _toolkit:register_agent_skill:1104 - Registered agent skill web_skill from directory skills\web_skill. 2026-02-23 13:09:29,054 | INFO | _toolkit:register_agent_skill:1104 - Registered agent skill ue_skill from directory skills\ue_skill. 2026-02-23 13:09:29,054 | INFO | _toolkit:register_agent_skill:1104 - Registered agent skill blenderskill from directory skills\blender_skill. 启动 QQ 机器人... 使用模型: 杜野りんせ 支持频道消息和好友私聊 ⏳ 正在连接... [INFO] (client.py:162)_bot_login [botpy] 登录机器人账号中... [INFO] (robot.py:65)update_access_token [botpy] access_token expires_in 5883 e:\code\my_python_server\.venv\lib\site-packages\botpy\http.py:153: DeprecationWarning: ssl.SSLContext() without protocol argument is deprecated. connectorTCPConnector(limit500, sslSSLContext(), force_closeTrue), e:\code\my_python_server\.venv\lib\site-packages\botpy\http.py:153: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated connectorTCPConnector(limit500, sslSSLContext(), force_closeTrue), [INFO] (client.py:181)_bot_init [botpy] 程序启动... [INFO] (connection.py:60)multi_run [botpy] 最大并发连接数: 1, 启动会话数: 1 [INFO] (client.py:242)bot_connect [botpy] 会话启动中... [INFO] (gateway.py:115)ws_connect [botpy] 启动中... e:\code\my_python_server\.venv\lib\site-packages\botpy\gateway.py:121: DeprecationWarning: ssl.SSLContext() without protocol argument is deprecated. async with ClientSession(connectorTCPConnector(limit10, sslSSLContext())) as session: e:\code\my_python_server\.venv\lib\site-packages\botpy\gateway.py:121: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated async with ClientSession(connectorTCPConnector(limit10, sslSSLContext())) as session: [INFO] (gateway.py:142)ws_identify [botpy] 鉴权中... [INFO] (gateway.py:85)on_message [botpy] 机器人「杜野凛世-测试中」启动成功 [INFO] (gateway.py:223)_send_heart [botpy] 心跳维持启动... [2026-02-23 13:09:29] [on_ready] 机器人已上线 ✅ 支持频道消息和好友私聊 [2026-02-23 13:09:38] [C2C消息] 你好 杜野りんせ: こんにちは何かお手伝いできることがありますか [2026-02-23 13:09:38] [C2C回复] こんにちは何かお手伝いできることがあります かllmchat方法自己实现接受一个输入返回一个输出就行import sys import os sys.path.append(os.getcwd()) import botpy from botpy.message import Message, C2CMessage import asyncio from typing import Callable from datetime import datetime # 导入你的 LLM 聊天函数 from agent_scope.chat_llm import llm_chat from share_config.api_key import qq_appid, qq_secret class QQBotClient(botpy.Client): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.chat_handler: Callable[[str], str] None def set_chat_handler(self, handler: Callable[[str], str]): 注册聊天处理函数 if not callable(handler): raise ValueError(handler 必须是可调用对象) self.chat_handler handler async def _call_handler(self, text: str) - str: 统一调用同步/异步 handler if asyncio.iscoroutinefunction(self.chat_handler): return await self.chat_handler(text) else: return self.chat_handler(text) async def on_ready(self): 机器人启动完成回调 print(f[{datetime.now().strftime(%Y-%m-%d %H:%M:%S)}] [on_ready] 机器人已上线) print(✅ 支持频道消息和好友私聊) async def on_at_message_create(self, message: Message): 频道消息处理 if not self.chat_handler: await message.reply(content聊天服务未初始化) return # 获取用户消息内容 user_text message.content or timestamp datetime.now().strftime(%Y-%m-%d %H:%M:%S) print(f[{timestamp}] [频道消息] {user_text}) try: # 调用你的 LLM 处理函数 reply_text await self._call_handler(user_text) print(f[{timestamp}] [频道回复] {reply_text[:100]}{... if len(reply_text) 100 else }) # 如果回复内容过长分段发送 if len(reply_text) 1000: chunks [reply_text[i:i1000] for i in range(0, len(reply_text), 1000)] for chunk in chunks: await message.reply(contentchunk) else: await message.reply(contentreply_text) except Exception as e: error_msg f处理消息时出错: {str(e)} print(f[{timestamp}] [频道错误] {error_msg}) await message.reply(contenterror_msg) async def on_c2c_message_create(self, message: C2CMessage): C2C好友私聊消息处理 if not self.chat_handler: await self.api.post_c2c_message( openidmessage.author.user_openid, content聊天服务未初始化 ) return # 获取用户消息内容 user_text message.content or timestamp datetime.now().strftime(%Y-%m-%d %H:%M:%S) print(f[{timestamp}] [C2C消息] {user_text}) try: # 调用你的 LLM 处理函数 reply_text await self._call_handler(user_text) print(f[{timestamp}] [C2C回复] {reply_text[:100]}{... if len(reply_text) 100 else }) # 发送 C2C 回复 await self.api.post_c2c_message( openidmessage.author.user_openid, contentreply_text ) except Exception as e: error_msg f处理消息时出错: {str(e)} print(f[{timestamp}] [C2C错误] {error_msg}) await self.api.post_c2c_message( openidmessage.author.user_openid, contenterror_msg ) def main(): # 创建机器人实例 - 开启公域 C2C/群消息 intents botpy.Intents(public_messagesTrue) client QQBotClient(intentsintents) # 注册你的 LLM 聊天处理函数 client.set_chat_handler(llm_chat) # 启动机器人 print( 启动 QQ 机器人...) print(f 使用模型: 杜野りんせ) print( 支持频道消息和好友私聊) print(⏳ 正在连接...) client.run(appidqq_appid, secretqq_secret) if __name__ __main__: main()

相关新闻

激光设备品牌怎么选?主流厂商实力深度对比

激光设备品牌怎么选?主流厂商实力深度对比

近些年来,伴随智能制造潮流的迅猛来袭,激光加工设备身为先进生产力的典型代表,于各个行业的运用越发深入广泛。面对市面上布满的形形色色激光品牌,怎样去挑选技术处于领先地位、运行稳定且值得信赖的合作商家,变成众多…

2026/7/5 7:36:15 阅读更多 →
从50篇论文到一篇综述,百考通AI帮你提炼、归纳、学术化表达!

从50篇论文到一篇综述,百考通AI帮你提炼、归纳、学术化表达!

在高校学术写作中,文献综述是科研工作的“基石”——它不仅展现作者对研究领域的整体把握,更直接影响论文的创新性与学术说服力。然而,对许多学生而言,撰写一篇逻辑清晰、内容翔实、格式规范的综述常常成为一大挑战:资…

2026/5/17 6:27:55 阅读更多 →
导师夸我文献功底深?其实我用了百考通AI——结构严谨、0抄袭风险!

导师夸我文献功底深?其实我用了百考通AI——结构严谨、0抄袭风险!

在高校学术写作中,文献综述是科研工作的“地基”——它不仅体现研究者对领域现状的掌握程度,更直接决定后续研究的创新空间与学术价值。然而,对许多本科生、研究生乃至青年教师而言,撰写一篇逻辑清晰、内容翔实、格式规范的综述常…

2026/5/17 6:27:54 阅读更多 →

最新新闻

STM32F410RB与MC6470 IMU的高精度姿态控制实现

STM32F410RB与MC6470 IMU的高精度姿态控制实现

1. 项目背景与硬件选型解析在嵌入式系统开发中,精确的运动感知和控制能力是许多应用的核心需求。MC6470作为mCube推出的6自由度惯性测量单元(6DOF IMU),集成了三轴加速度计和三轴磁力计,能够提供完整的空间姿态数据。而STM32F410RB则是STMicr…

2026/7/5 7:34:11 阅读更多 →
MAX9744与PIC18F2455构建高效D类音频放大器方案

MAX9744与PIC18F2455构建高效D类音频放大器方案

1. 项目背景与核心组件解析在DIY音频设备改造和嵌入式音频系统开发中,功率放大器的选型直接影响最终音质表现。MAX9744作为一款高效D类音频功率放大器,搭配PIC18F2455微控制器的灵活控制能力,可以构建出性能优异且可编程的音频放大解决方案。…

2026/7/5 7:34:11 阅读更多 →
STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

1. 项目背景与核心需求 在嵌入式系统开发中,持久化存储用户配置和偏好设置是一个经典需求。无论是工业控制设备、消费电子产品还是物联网终端,都需要在断电后仍能保留关键参数。传统方案如EEPROM或Flash存储各有局限——前者容量小、成本高,后…

2026/7/5 7:34:11 阅读更多 →
AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

1. 项目概述:为什么AppScan的安装值得你认真对待如果你是一名安全工程师、渗透测试人员,或者正在负责公司应用系统的安全评估,那么IBM Security AppScan这个名字你一定不陌生。作为一款老牌且功能强大的Web应用动态安全测试(DAST&…

2026/7/5 7:32:10 阅读更多 →
STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

1. 项目背景与核心需求在嵌入式系统开发中,数据检索的速度和精度往往成为系统性能的瓶颈。传统方案通常面临两个矛盾:要么使用低速但容量大的存储介质(如SD卡),要么选择高速但容量受限的片上Flash。25CSM04这款4Mb SPI…

2026/7/5 7:30:10 阅读更多 →
WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间

WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间

WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到Windows电…

2026/7/5 7:30:10 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻