(保姆级教程)通过官方API搭建一个自己的QQ群聊机器人

(保姆级教程)通过官方API搭建一个自己的QQ群聊机器人

简介

用官方api做了一个qq群聊机器人的demo,有获取天气、简单编辑待办、从本地发送图片等功能。

建了个群,欢迎来交流(

QQ群号:710101225

重新写了个基于nonebot框架的教程,个人认为比官方sdk更容易开发:https://blog.ZEEKLOG.net/Clovertaa/article/details/145452834

获取

机器人demo

GitHub仓库:GitHub - ClovertaTheTrilobita/SanYeCao-bot: 一个基于官方API的QQ群聊机器人

官方SDK

GitHub仓库:GitHub - tencent-connect/botpy: QQ频道机器人PythonSDK

教程

前置需求

本项目使用conda环境和git操作。如果未安装这两个工具请首先移步

史上最全最详细的Anaconda安装教程-ZEEKLOG博客

Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-ZEEKLOG博客

(这俩教程我粗略看了下感觉挺好的,如果不适合你那烦请自行百度了qwq)

一、配置QQ开放平台

网址:QQ 开放平台

1.机器人设置

完成注册之后,登陆,进入主页,点击创建机器人

简单填写好资料之后,进入机器人控制面板,找到“沙箱配置”。

点击进入,选择你想在哪个群里测试你的qq机器人。

注意,你必须是该群的群主或者管理员。

在你选择的群聊中,打开群聊设置>群机器人,选择其它,可以看到你创建的机器人。将它邀请进群。

下一步,在导航栏中找到“发布设置”。

点击功能配置。

之后点击右上角的重新配置,设置机器人被at后输入栏上方会弹出的指令。需要根据代码来配置。

以下是我配置的。

最后,在导航栏中找到“开发设置”。

查看你的机器人的AppleID和AppleSecret。由于AppleSecret不会明文保存在网页上,刚创建的机器人需要点击“生成”,并将生成的密钥记录下来,我们在之后的步骤中要用。

注意:生成密钥后退出页面将无法再次查看密钥,所以请妥善记录并保管好。

二、拉取项目

进入GitHub,点击绿色的<>code

之后复制项目仓库链接

之后在自己的文件夹空白处右键,选择open git bash  here

输入

git clone https://github.com/ClovertaTheTrilobita/SanYeCao-bot.git

将项目拉取至本地。

三、启动机器人

很好!现在我们拿到了机器人的源代码,只需要启动它就行了。

请详细阅读项目的README.md根据指引配置API和其它一些东西。

1.配置机器人账号密码

找到./botpy/examples/config.yaml

appid: "Your_Bot_Id" secret: "Enter_Your_Secret_Here"

还记得第一步中我们保存的机器人ID和密钥么?

将你在QQ开放平台上的AppleID和AppleSecret分别填入Your_Id和Enter_Your_Secret_Here的位置。

2.配置图床API

首先打开图床:Image Upload - SM.MS - Simple Free Image Hosting

注册/登陆之后,在右上角找到User

单击,点击DashBoard

在左侧导航栏中找到API Token,如果是第一次使用需要点击Gennerate Secret Token生成令牌。

复制你的令牌,进入项目。

在./botpy/examples/plugins/img_upload.py中,找到

headers = {'Authorization': 'Your_Token'} # 此处填写你的API Token

将上述代码中的Your_Token改为你刚刚复制的令牌。

这样我们就完成了机器人API的配置。

3.配置conda环境(推荐)

接下来,我们回到项目根目录,打开终端,输入

conda create -n chatbot

创建一个名为chatbot的环境,如果你想起别的名字就请把chatbot换为你喜欢的名字。

之后在终端输入

conda activate chatbot

 启动我们刚刚创建的环境。

刚刚创建的conda环境貌似是没有pip安装器的,所以我们要

conda install pip 

安装pip

最后一步,在项目根目录输入

pip install -r requirements.txt

安装所需要的软件包。

requirements.txt内的包可能看起来很多,实际上大部分都是conda环境自带的,我直接把所有的贴上去了,因为懒()

4.启动机器人

非常棒!现在我们已经完成了所有所需要的配置!

我们只需要进入./botpy/examples目录,找到client.py。在终端中输入

python client.py

启动机器人。

现在你就可以在群聊中at它啦。

 

Read more

仿生新势力:Openclaw开源仿生爪,如何革新机器人抓取?

仿生新势力:Openclaw开源仿生爪,如何革新机器人抓取?

仿生新势力:Openclaw开源仿生爪,如何革新机器人抓取? 引言 在仓储、农业乃至家庭服务中,机器人如何像猫一样灵巧、自适应地抓取千变万化的物体?这曾是行业难题。如今,一个名为 Openclaw 的开源仿生机械爪项目,正以其独特的被动适应性设计和亲民的成本,在机器人末端执行器领域掀起波澜。本文将深入解析Openclaw的仿生奥秘、实现原理、应用场景及未来布局,带你全面了解这款来自开源社区的“仿生新势力”。 一、 核心揭秘:从猫爪到机械爪的实现原理 本节将拆解Openclaw如何将生物灵感转化为工程现实。 1. 仿生学设计理念 Openclaw的核心灵感源于猫科动物爪部。当猫抓取物体时,其爪趾会自然地包裹贴合物体表面,这种能力主要依赖于其肌腱和骨骼的被动结构,而非大脑的实时精密控制。Openclaw借鉴了这一思想,核心是被动适应性机制。它无需依赖复杂的传感器反馈和实时力控算法,仅凭精巧的机械结构即可根据物体形状自动调整接触点和抓取力,从而极大地简化了控制系统。 配图建议:猫爪与Openclaw的对比图,或Openclaw抓取不同形状物体的动态示意图。 2. 欠驱动与

FPGA读写DDR4 (一)MIG IP核控制信号

FPGA读写DDR4 (一)MIG IP核控制信号

前言         这几个星期在倒腾DDR4内存的读写控制,期间看了不少资料,这几天终于完工了于是想着把做过的内容总结一下,于是有了这篇文章,由于控制DDR4的内容很多,这一篇文章就只讲基础的,也就是DDR4的控制IP核 MIG的控制信号。         主要参考内容:【正点原子】MPSoC-P4之FPGA开发指南_V2.0,[XILINX] pg150-ultrascale-memory-ip-en-us-1.4 MIG IP核控制信号 IP核创建界面         MIG IP核(memory interface generator)是用户与DDR4进行沟通的桥梁,因为如果我们自己去写直接DDR4代码的话,其内容将会非常复杂,而且即便写出来其性能可能也不会好,以XILINX提供的MIG IP核为例,在综合布线后查看utilization,能发现MIG IP核足足使用了约7500个LUT和9000个register资源,足以看出其编写的复杂,不过对于我们普通用户,能够操作MIG提供的用户接口就我觉得就算差不多了,既然要使用IP核,我们就从IP核的创建界面开始说起,

OpenClaw配置 GLM-4.7 Flash+DuckDuckGo 实现飞书机器人联网问答

OpenClaw配置 GLM-4.7 Flash+DuckDuckGo 实现飞书机器人联网问答

摘要 OpenClaw+GLM-4.7 Flash+DuckDuckGo:手把手教你搭建飞书群聊联网问答机器人。本文提供一套100% 免费的落地方案,详解 OpenClaw 安装、GLM-4.7 Flash 模型配置、DuckDuckGo 搜索插件启用、飞书应用创建与网关对接、群聊白名单配置等关键步骤,附完整命令与避坑指南,实现飞书内 @机器人即可获取实时联网信息,打造高效团队协作 AI 工具。 效果展示 准备工作 node.js安装 下载地址 https://nodejs.org/en/download 安装完成。 git 安装 下载地址 https://git-scm.com/install/windows 上图普通用户默认选择,我是程序员,因此选择第二项 接下来的步骤都是保持默认选择,点击Next,

【离散化 线段树 二分查找】3661可以被机器人摧毁的最大墙壁数目|2525

【离散化 线段树 二分查找】3661可以被机器人摧毁的最大墙壁数目|2525

本文涉及知识点 【C++】树状数组的使用、原理、封装类、样例 C++线段树 C++二分查找 3661. 可以被机器人摧毁的最大墙壁数目 一条无限长的直线上分布着一些机器人和墙壁。给你整数数组 robots ,distance 和 walls: robots[i] 是第 i 个机器人的位置。 distance[i] 是第 i 个机器人的子弹可以行进的 最大 距离。 walls[j] 是第 j 堵墙的位置。 每个机器人有 一颗 子弹,可以向左或向右发射,最远距离为 distance[i] 米。 子弹会摧毁其射程内路径上的每一堵墙。机器人是固定的障碍物:如果子弹在到达墙壁前击中另一个机器人,它会 立即 在该机器人处停止,无法继续前进。