(保姆级教程)通过官方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

FPGA基础知识(十五):Xilinx Clocking Wizard IP核完全指南--从基础到高级应用

FPGA基础知识(十五):Xilinx Clocking Wizard IP核完全指南--从基础到高级应用

《FPGA基础知识》系列导航                本专栏专为FPGA新手打造的Xilinx平台入门指南。旨在手把手带你走通从代码、仿真、约束到生成比特流并烧录的全过程。        本篇是该系列的第十五篇内容        上一篇:FPGA基础知识(十四):FIFO工作原理与基础概念-ZEEKLOG博客        下一篇:FPGA基础知识(十六):Xilinx Block Memory IP核完全指南(1)--核心定位与基础配置-ZEEKLOG博客       在FPGA设计中,时钟管理是整个系统稳定运行的基石。Xilinx的Clocking Wizard IP核作为时钟管理的核心工具,能够极大地简化复杂的时钟设计。本文将带你从基础使用到高级应用,全面掌握这个强大的工具。 一、Clocking Wizard是什么?        Clocking Wizard是Xilinx Vivado设计套件中的一个IP核,用于自动化和简化FPGA中的时钟管理。它提供了一个图形化界面来配置MMCM(混合模式时钟管理器)和PLL(锁相环),让开发者无需深入理解底层复杂的

终极指南:快速掌握小米智能家居C API完整解决方案

终极指南:快速掌握小米智能家居C# API完整解决方案 【免费下载链接】mi-homeС# API for Xiaomi Mi Home devices 项目地址: https://gitcode.com/gh_mirrors/mi/mi-home 想要彻底摆脱小米官方APP的限制,实现智能家居设备的自由控制吗?mi-home项目为你提供了完美的C#编程接口,让你能够轻松构建专属的智能家居控制中心。本文将带你从零开始,全面了解这个强大的开源工具,解锁智能家居的无限可能性! 项目核心价值:为什么选择mi-home? mi-home是一个专为小米米家设备设计的C# API项目,它解决了官方接口封闭性的痛点,为开发者和高级用户提供了前所未有的设备控制自由度。通过这个项目,你可以: * 🏠 完全掌控家中所有小米智能设备 * 🔧 自定义智能场景和联动规则 * 📱 开发专属的手机控制应用 * 💻 集成到现有的智能家居系统中 设备支持范围:覆盖主流小米智能产品 该项目全面支持小米生态链中的各类智能设备,主要分为三大协议类型: Miio协议设备控制 位于MiHom

【论文笔记】On Generative Agents in Recommendation

目录 * 0. 摘要原文翻译 * 1. 方法动机(Motivation) * 1.a 作者为什么提出这个方法? * 1.b 现有方法的痛点 / 不足 * 1.c 研究假设 / 直觉 * 2. 方法设计(Methodology) * 2.a 方法整体流程(Pipeline) * Agent4Rec 总体流程 * 2.b 模型结构与模块设计 * (一)Profile Module(用户画像模块) * 功能 * 构成 * ① 社会属性(Social Traits) * ② 个性化兴趣(Unique Tastes) * (二)Memory Module(记忆模块) * 核心思想 * 记忆类型 * 三种记忆操作 * (三)Action

Tabular Editor 2.x:数据分析师的终极模型管理神器

Tabular Editor 2.x:数据分析师的终极模型管理神器 【免费下载链接】TabularEditorThis is the code repository and issue tracker for Tabular Editor 2.X (free, open-source version). This repository is being maintained by Daniel Otykier. 项目地址: https://gitcode.com/gh_mirrors/ta/TabularEditor 还在为复杂的Power BI模型管理而头疼吗?想要一个能够快速编辑DAX公式、批量处理度量值、轻松部署模型的工具吗?今天我要向你推荐一款数据分析师的秘密武器——Tabular Editor 2.x!🚀 为什么你需要Tabular Editor?