Nonebot2官网插件nonebot-plugin-chatgpt让自己的QQ聊天机器人不再呆头呆脑

news2024/9/25 1:15:22

前言

如果你会使用Nonebot2搭建QQ聊天机器人,那么你一定会使用Nonebot官网上插件商店发布的插件,今天这篇博客记录一下使用插件时遇到的错误,最终如何解决的错误。在开始之前先看一下效果图吧!
在这里插入图片描述
在这里插入图片描述
瞬间我们的QQ机器人就高大上了起来,甚至你可能都骂不过他!

配置

废话就不多,直接上教程!
在这里插入图片描述

前置条件:

  • Nonebot2环境搭建完毕
  • Go-cqhttp运行正常
  • QQ账号正常

安装插件:
先进入机器人所在目录,也就是有pyproject.toml文件的目录。
然后执行下面命令:

nb plugin install nonebot-plugin-chatgpt

等待安装完毕即可!
安装完毕之后,启动机器人之前还需要配置OpenAI相关信息(也就是对你的机器人进行定制)。

在 nonebot2 项目的 .env 文件中添加下表中的必填配置(在 ARM 平台,可能必须使用 CHATGPT_SESSION_TOKEN 登录)
⚠️ Windows 系统下需要在 .env.dev 文件中设置 FASTAPI_RELOAD=false

配置项必填默认值说明
CHATGPT_SESSION_TOKEN空字符串ChatGPT 的 session_token,如配置则优先使用
CHATGPT_ACCOUNT空字符串ChatGPT 登陆邮箱,未配置则使用 session_token
CHATGPT_PASSWORD空字符串ChatGPT 登陆密码,未配置则使用 session_token
CHATGPT_CD_TIME60冷却时间,单位:秒
CHATGPT_PROXIESNone代理地址,格式为: http://ip:port
CHATGPT_REFRESH_INTERVAL30session_token 自动刷新间隔,单位:分钟
CHATGPT_COMMAND空字符串触发聊天的命令,可以是 字符串 或者 字符串列表。如果为空字符串或者空列表,则默认响应全部消息
CHATGPT_TO_METrue是否需要@机器人
CHATGPT_TIMEOUT30请求服务器的超时时间,单位:秒
CHATGPT_APIhttps://chat.openai.com/API 地址,可配置反代
CHATGPT_IMAGEFalse是否以图片形式发送。如果无法显示文字,请点击此处查看解决办法
CHATGPT_IMAGE_WIDTH500消息图片宽度,单位:像素
CHATGPT_PRIORITY999事件响应器优先级
CHATGPT_BLOCKTrue是否阻断消息传播
CHATGPT_PRIVATETrue是否允许私聊使用
CHATGPT_SCOPEprivate设置公共会话或私有会话private:私有会话,群内成员会话各自独立public:公共对话,群内成员共用同一会话
CHATGPT_DATA插件目录下插件数据保存目录的路径
CHATGPT_MAX_ROLLBACK5设置最多支持回滚多少会话
CHATGPT_DETAILED_ERROR是否允许输出详细错误信息

一般来说在配置文件中配置上CHATGPT_SESSION_TOKEN、CHATGPT_PRIVATE即可
如何获取 session_token?

  • 登录 https://chat.openai.com/chat,并点掉所有弹窗
  • 按 F12 打开控制台
  • 切换到 Application/应用 选项卡,找到 Cookies
  • 复制 __Secure-next-auth.session-token 的值,配置到 CHATGPT_SESSION_TOKEN 即可

在这里插入图片描述

到这插件配置工作已经大部分完成,可以先尝试一下能不能启动,不能启动的话看看下面几种报错能不能解决你的问题!

报错解决

  • asyncio抛出NotImplementedError
Task exception was never retrieved
future: <Task finished name='Task-3' coro=<Connection.run() done, defined at C:***\Python310\lib\site-packages\playwright_impl_connection.py:240> exception=NotImplementedError()>
Traceback (most recent call last):

这种情况需要在你的env文件中配置以下选项:

fastapi_reload=false
  • 错误信息: AttributeError: ‘NoneType’ object has no attribute ‘new_page’

这种错误可以尝试使用以下命令进行解决:

playwright install

但是如果是缺少GLIBC_2.18同样会报这个错误,建议根据日志来判断具体情况!


在这里插入图片描述
至此你的机器人应该就可以跑起来了,如果配置过程中遇到了某些解决不掉的问题,欢迎评论区留言!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java serialVersionUID 作用和自动生成设置

一、由来 最近在做一个军工的项目&#xff0c;代码提交后&#xff0c;军方用代码安全扫描工具&#xff0c;对代码进行全局扫描&#xff0c;提示一个漏洞&#xff0c;导致原因是实体类实现了Serializable接口&#xff0c;未对serialVersionUID手动赋值&#xff0c;java机制里&am…

Zero-shot(零次学习)简介

zero-shot基本概念 首先通过一个例子来引入zero-shot的概念。假设我们已知驴子和马的形态特征&#xff0c;又已知老虎和鬣狗都是又相间条纹的动物&#xff0c;熊猫和企鹅是黑白相间的动物&#xff0c;再次的基础上&#xff0c;我们定义斑马是黑白条纹相间的马科动物。不看任何斑…

枚举类的使用方法

一、理解枚举类型 枚举类型是Java 5中新增特性的一部分&#xff0c;它是一种特殊的数据类型&#xff0c;之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束&#xff0c;但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。下面先来看看如何写…

如何用一句话感动测试工程师?产品和技术都这么说!

测试工程师在公司里的地位一言难尽&#xff0c;产品挥斥苍穹&#xff0c;指引产品前路&#xff1b;开发编写代码实现功能&#xff0c;给产品带来瞩目成就。两者&#xff0c;一个是领航员&#xff0c;一个是开拓者&#xff0c;都是聚光灯照耀的对象&#xff0c;唯独团队中的保障…

换脸方法大汇总:生成对抗网络GAN、扩散模型等

1、One-Shot Face Video Re-enactment using Hybrid Latent Spaces of StyleGAN2StyleGAN的高保真人像生成&#xff0c;已逐渐克服了单样本面部视频驱动重现的低分辨率限制&#xff0c;但这些方法至少依赖于以下其中之一&#xff1a;明确的2D/3D先验&#xff0c;基于光流作为运…

Android 基础知识4-2.5View与VIewGroup的概念、关系与区别

1.概念&#xff1a; Android里的图形界面都是由View和ViewGroup以及他们的子类构成的&#xff1a; View&#xff1a;所有可视化控件的父类,提供组件描绘和时间处理方法 ViewGroup&#xff1a; View类的子类&#xff0c;可以拥有子控件,可以看作是容器 Android UI中的控件都是…

Java【七大算法】算法详细图解,一篇文章吃透

文章目录一、排序相关概念二、七大排序1&#xff0c;直接插入排序2&#xff0c;希尔排序3&#xff0c;选择排序4&#xff0c;堆排序5&#xff0c;冒泡排序5.1冒泡排序的优化6&#xff0c;快速排序6.1 快速排序的优化7&#xff0c;归并排序三、排序算法总体分析对比总结提示&…

K8s学习(一)从零开始搭建kubernetes集群环境(虚拟机/kubeadm方式)

文章目录1 Kubernetes简介&#xff08;k8s&#xff09;2 安装实战2.1 主机安装并初始化2.2 安装docker2.3 安装Kubernetes组件2.4 准备集群镜像2.5 集群初始化2.6 安装flannel网络插件3 部署nginx 测试3.1 创建一个nginx服务3.2 暴漏端口3.3 查看服务3.4 测试服务1 Kubernetes简…

centos7安装RabbitMQ

1、查看本机基本信息 查看Linux发行版本 uname -a # Linux VM-0-8-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux cat /etc/redhat-release # CentOS Linux release 7.9.2009 (Core)2、创建创建工作目录 mkdir /…

下一代视频编码技术2023

下一代视频编码技术 下面将从这两个角度来介绍华为云视频在下一代视频编码技术上的一些工作。这些技术得益于华为2012 媒体技术院全力支持。 2.1 下一代视频编码标准技术 从上图可以看出&#xff0c;下一代的视频编码标准大概分为三个阵营或者三个类型&#xff1a; 国际标准…

卷积神经网络(CNN)经典模型分析(一)

CNN经典模型分析&#x1f42c; 目录: 一、CNN概论二、model分析LeNet5AlexNetVggNetGoogleNetResNet 三、参考资料 一、CNN概论 如图所示&#xff1a;人工智能最大&#xff0c;此概念也最先问世&#xff1b;然后是机器学习&#xff0c;出现的稍晚&#xff1b;最后才是深度学习…

Python编程自动化办公案例(2)

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.前期代码 二.实现批量读取 1.os库 2.实现思路 &#xff08;1&#…

VBA提高篇_ 22 事件处理

文章目录1.事件编程2.常用工作簿事件名称与对应处理过程名称示例3. 事件编程的步骤4&#xff0e;工作簿事件4.1 Open4.2 BeforeClose4.3 NewSheet5&#xff0e;工作表事件6&#xff0e;变量和过程函数的作用域1.事件编程 写在事件发生地(对应工作簿或工作表) 2.常用工作簿事…

22 pandas字符串操作

文章目录字符串对象方法cat和指定字符串进行拼接查看数据不指定参数&#xff0c;所有姓名拼接不指定参数&#xff0c;所有姓名拼接添加分隔符添加数据遇到空值时合并split按照指定字符串分隔partition 按照指定字符串分割get 获取指定位置的字符&#xff0c;只能获取1个slice 获…

LeetCode题目笔记——6362. 合并两个二维数组 - 求和法

文章目录题目描述题目链接题目难度——简单方法一&#xff1a;常规双指针遍历代码/Python方法二&#xff1a;字典\哈希表代码/Python总结题目描述 给你两个 二维 整数数组 nums1 和 nums2. nums1[i] [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。nums2[i] [idi, …

Flutter-Widget-学习笔记

Widget 是整个视图描述的基础。 参考&#xff1a;https://docs.flutter.dev/resources/architectural-overview Widget 到底是什么呢&#xff1f; Widget 是 Flutter 功能的抽象描述&#xff0c;是视图的配置信息&#xff0c;同样也是数据的映射&#xff0c;是 Flutter 开发框…

2023年美赛C题Wordle预测问题二建模及Python代码详细讲解

更新时间&#xff1a;2023-2-19 相关链接 &#xff08;1&#xff09;2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 &#xff08;2&#xff09;2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 &#xff08;3&#xff09;2023年美赛C题Wordle预测问题三、四…

【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法

一、进制计算机中底层所有的数据都是以 010101 的形式存在&#xff08;图片、文本、视频等&#xff09;。二进制八进制十进制&#xff08;也就是我们熟知的阿拉伯数字&#xff09;十六进制进制转换v1 bin(25) # 十进制转换为二进制 print(v1) # "0b11001"v2 oct(23…

【数据结构】顺序表:随机访问的速度快到飞起

&#x1f451;专栏内容&#xff1a;数据结构⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;日拱一卒&#xff0c;功不唐捐 文章目录一、前言二、线性表三、顺序表1、定义2、静态顺序表3、动态顺序表4、接口实现Ⅰ、初始化Ⅱ、销毁Ⅲ、增容Ⅳ、插入Ⅴ、删…

中国各省人力资本测算就业人员受教育程度构成(2000-2021年)

数据来源&#xff1a;自主整理 时间跨度&#xff1a;2000-2021年 区域范围&#xff1a;全国各省 指标说明&#xff1a; 人力资本测算公式&#xff1a;&#xff08;小学*6初中*9高中*12大专及以上*16&#xff09;/六岁及以上人口 参考文献&#xff1a; [1]罗仁福, 刘承芳,…