使用NoneBot2可视化平台搭建QQ聊天机器人:本地和云部署教程

NoneBot是一个基于Python 3.8+的异步、开源和可扩展的框架,用于构建和运行聊天机器人,支持各种聊天平台,如Telegram,Discord和WeChat。它是基于nonebot库构建的,提供了一个易于使用的界面,用于创建聊天机器人插件和处理消息。它允许开发人员轻松创建自定义插件和命令,并与其他服务和API集成。
在这里插入图片描述

文章目录

  • 安装基础插件
  • 创建项目
  • 项目配置
    • .env 文件
    • .env.* 文件 配置
  • 云服务器部署
  • 自定义插件
    • 自定义回复插件
    • 三方插件

安装基础插件

如果是 1.x 版本先要卸载。

pip uninstall nonebot

安装 pipx。

python -m pip install --user pipx
python -m pipx ensurepath

安装脚手架。

pip install nb-cli

克隆 Git 仓库后手动安装,注意install后面有个点。

git clone https://github.com/nonebot/nonebot2.git
cd nonebot2
pip install .

创建项目

进入任意文件夹 输入

nb
  • 选择 Creat a New Project,创建项目。
  • 输入创建的项目名称,英文。例如:MyNoneBot。
  • 选择 In 你的项目名称 folder。
  • 选择 echo。
  • 选择 OneBot V11
  • 选择 y,完成项目创建。

在项目根目录文件夹下生成如下文件,自己对照一下。

在这里插入图片描述
启动项目的方式有两种,都需要进入项目目录下,上图的位置。

nb 方式启动:

nb run

python 命令行启动:

python bot.py

出现如下界面表示启动成功。

在这里插入图片描述

项目配置

红框中的3个文件均为项目的配置文件,不同的后缀代表的配置不同。

NoneBot 在启动时将会从系统环境变量或者 .env 文件中寻找变量,该变量大小写不敏感。
在这里插入图片描述

.env 文件

.env 文件中配置 ENVIRONMENT 指向的是 .env 文件后缀名的配置文件,根据实际情况修改。其中 CUSTOM_CONFIG 这个配置项在任何环境中都会被加载,因此也可忽略。

ENVIRONMENT=dev# 可以忽略
CUSTOM_CONFIG = common config  

.env.* 文件 配置

# Driver 驱动器配置
# 默认:~fastapi,其他可选项 ~httpx、~websockets、~aiohttp
# 也可以是多种组合,例如:~fastapi+~httpx+~websockets
DRIVER=~fastapi# Host 配置 NoneBot2 监听的 IP/主机名
HOST=0.0.0.0# Port 配置 NoneBot2 监听的端口
PORT=8080  # Log Level 日志输出等级
# 可选项有DEBUG、INFO、SUCCESS、WARNING、ERROR、CRITICAL
LOG_LEVEL=INFO# API Timeout 请求超时时间,默认单位为s
API_TIMEOUT=30.0# SuperUsers 配置 NoneBot 超级用户
SUPERUSERS=["QQ号", "QQ号"]# Nickname 配置机器人的昵称
NICKNAME=["Mr的AI助手",]  # COMMAND 配置命令
COMMAND_START=["/", ""]  # 配置命令起始字符
COMMAND_SEP=["."]  # 配置命令分割字符# Session Expire Timeout 用户会话超时时间,默认单位为秒
SESSION_EXPIRE_TIMEOUT=120

进入 lib 中 nonebot_plugin_gocqhttp 修改密码plugin_config.py

在这里插入图片描述

云服务器部署

需要修改项目下的配置文件ip地址 .env.dev 和 .env.prod 文件。
在这里插入图片描述
这里的HOST都需要修改成 0.0.0.0,并且开放云服务器端口。
在这里插入图片描述
访问配置好的网络地址即可。
在这里插入图片描述
在这里插入图片描述

自定义插件

所有插件均在 bot.py 中设置。

自定义回复插件

在 bot.py 中添加下面的代码,并在项目目录下创建对应的脚本即可。
在这里插入图片描述

# 自定义回复插件
nonebot.load_plugins("src/plugins")

在这里插入图片描述
添加自定义关键词回复。

# coding:utf-8
__author__ = 'Mr.数据杨'
__explain__ = ''from nonebot.adapters.cqhttp import Bot, Event
from nonebot.plugin import on_message
import oscurrent_file_path = __file__
current_working_dir = os.path.dirname(current_file_path) + "\\"keyword_base_path = current_working_dir + "\\keyword\\"def GetMenu():......def GetInfo():......def GetHome():......def GetStudyMenu():......def GetProject():......reply_dic = {'/菜单': GetMenu(),'/群主介绍': GetInfo(),'/群主主页': GetHome(),'/Python学习目录': GetStudyMenu(),'/开发项目': GetProject(),
}# 回复部分
reply = on_message(priority=100)@reply.handle()
async def reply_handle(bot: Bot, event: Event):user_msg = str(event.get_message()).strip()# 对输入进行判断并处理try:reply_msg = reply_dic[user_msg]await reply.finish(reply_msg)except KeyError:await reply.finish()

在这里插入图片描述

三方插件

各种写好的插件可以直接安装进行调用,进入 NoneBot 插件市场 进行下载即可。

这里介绍一个云签到插件的使用。

pip install nonebot-plugin-cloudsignxpip install --upgrade nonebot-plugin-cloudsignx

bot.py 文件, 在其中写入。

nonebot.load_plugin('nonebot_plugin_cloudsignx')
指令说明
签到♥每日签到,每日首签与连续签到都将获得额外积分
积分查询现在拥有的积分等数据
抽奖 n消耗n积分,随机获取0-3倍积分
转账 n@xxx将n积分转账给xxx
打劫@xxx打劫xxx的积分,有几率获得对方的部分积分,也可能打劫不到或被反打劫
领取积分补助积分低于10分时每日可领取一次补助
排行榜查看全部用户的积分排行榜,并显示自己的名次
挖矿消耗10积分进行挖矿
我的背包查看挖到的矿
售出xxx 将挖到的xxx卖出,获得积分
钓鱼消耗10积分进行钓鱼
我的鱼篓查看钓到的鱼🐟
出售 xxx将钓到的xxx卖出,获得积分
猜数字 xxx消耗xxx积分开始猜数字游戏,猜中则积分翻倍
我猜 xxx在指定次数内进行猜数字游戏,xxx为你所猜的数字
猜拳石头 xxx消耗xxx积分进行猜拳游戏,胜利则积分翻倍
猜拳剪刀 xxx消耗xxx积分进行猜拳游戏,胜利则积分翻倍
猜拳布 xxx消耗xxx积分进行猜拳游戏,胜利则积分翻倍
签到状态查看服务器的实时负载等信息
功能显示功能列表
功能 xxx查看xxx功能的使用方法
@检查更新@检查插件是否为新版本

在这里插入图片描述

未来更新一些好用的插件。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你使用python搭建QQ机器人

注:本文中Linux系统指令均为Ubuntu使用,centos等请根据指令按系统情况改动。 目录 一、环境配置 二、配置go-cqhttp 三、安装nonebot 四、运行机器人 五、插件 六、最后 一、环境配置 1、python版本>3.8.0。如果版本不对请更新版本&#xff0c…

中级 PHP 程序员应该掌握的面试题

PHP 不仅是世界上最好的语言,还是世界上最奇特的语言,奇特之处是很多难以理解的语法,还有一眼看不出运行结果的程序。下面我整理了几道中级水平的面试题,大家可以看看: 请选择以下代码运行的结果: 程序解释…

“二向箔”其实并不存在丨《三体》里的数学问题

《三体》电视剧的播出,还原了很多原著小说中的“名场面”,引发了公众和书迷的广泛关注和讨论。对于等不及电视剧更新去翻书的人,亦或是“原著党”的脑海里,“名场面”一定少不了《三体3:死神永生》中,“歌者…

疫情期间再读三体(2)——程心为啥这么讨人厌

最近疫情期间看完我的三体这部三体改编的神级动画后,又把三体的小说找出来读了一遍,最近把第三部看完了,其中程心是这一部的主要角色,其中很多的剧情都是靠这个人物进行推动的。这个剧情人物也展开大家大量的讨论,下面…

最近爆火的“元宇宙”概念,是在“割韭菜”吗?

来源:物联网智库好像一夜之间,元宇宙火出了圈。其概念不仅引发投资界和科技圈的关注,就连近日上映的科幻电影《失控玩家》也贴上了“元宇宙”的标签,为这一概念推波助澜。 科技巨头们都争先恐后地想往自己身上贴上“元宇宙”的标签…

元宇宙作为风口究竟是时代的进步还是割韭菜之王

元宇宙这个词应该是当下最火爆的话题了吧,每个资本家都在虎视眈眈的盯着这块儿蛋糕 ,那么作为我们电商或者中小型企业家能否分到这一杯羹呢,我想最近的元宇宙NFG会带给你答案。 那么首先我们一起来看看NFG是什么,它指的是非同质化…

万物皆可元宇宙?警惕资本炒作,识破韭菜骗局

要说近两年来最热门的科技话题,其中必然有“元宇宙”一词,从国外的微软打造企业元宇宙、脸书改名为Meta,到国内腾讯、字节、百度、阿里等多家头部企业争先涌入, 2021年被业内戏称为“元宇宙元年”。 尽管“元宇宙”一词炒得火热&…

警惕元宇宙

10月28日,Facebook的创始人马克扎克伯格宣布将公司名字由“FACEBOOK”更改为“META”,随后,便引发了“元宇宙”热。元宇宙概念从科技圈迅速“出圈“,一度占据各大平台的热搜榜和头条榜,引发热议。有人说,这…

一个简单的登录注册界面流程介绍

登录页面实现 其他页面的实现可以到github上克隆下来 login_interface login_server 一、用户登录 1、密码登录 流程: 用户输入密码;表单使用正则验证用户名和密码格式;点击登录,对密码进行加密,并发送登录验证请求…

Netflix 团队解决了 Linux 内核中的 FUSE 死锁

Laf 公众号已接入了 AI 绘画工具 Midjourney&#xff0c;可以让你轻松画出很多“大师”级的作品。同时还接入了 AI 聊天机器人&#xff0c;支持 GPT、Claude 以及 Laf 专有模型&#xff0c;可通过指令来随意切换模型。欢迎前来调戏&#x1f447; <<< 左右滑动见更多 &…

独家 | 我们都是AI免费的数据劳动力(附链接)

作者&#xff1a;Melissa Heikkil 翻译&#xff1a;李洪君 校对&#xff1a;王晓颖本文约1700字&#xff0c;建议阅读5分钟AI聊天机器人的回答听起来聪明、少涌现些有害又无意义的言论的秘诀&#xff0c;在于使用一种从人类反馈的强化学习技术。 ANNA SOROKINA 让AI聊天机器人的…

编程语言中,循环变量通常都用 i?你知道为什么吗?

01 前天&#xff0c;我在朋友圈发了一个问题&#xff1a; 为什么编程中&#xff0c;循环变量通常都是用 i ? 没想到&#xff0c;回复的人这么多&#xff01;要连翻好几页。 这个问题&#xff0c;有 2/3 的人回答正确&#xff0c;有少部分人知道&#xff0c;但是不太确定。 习惯…

我的ChatGPT学习笔记003

大家好啊&#xff0c;我是了不起&#xff01; 前一段时间ChatGPT突然火爆&#xff0c;大佬们纷纷下场。我也跟着努力学习&#xff0c;做了一些笔记。 下面将陆续放出笔记&#xff0c;共享给小伙伴们&#xff01;这是放出的第二篇&#xff0c;和小伙伴们与时俱进哈~~ 笔记三&…

【超详细】R语言实现各种数据可视化

文章目录 1 主成分分析可视化结果1.1 查看莺尾花数据集(前五行&#xff0c;前四列)1.2 使用莺尾花数据集进行主成分分析后可视化展示 2 圆环图绘制3 马赛克图绘制3.1 构造数据3.2 ggplot2包的geom_rect()函数绘制马赛克图3.3 vcd包的mosaic()函数绘制马赛克图3.4 graphics包的m…

☀️苏州程序大白一文教你学会微信小程序开发☀️《❤️记得收藏❤️》

☀️苏州程序大白一文教你学会微信小程序开发☀️《❤️记得收藏❤️》 目录 &#x1f3f3;️‍&#x1f308;开讲啦&#xff01;&#xff01;&#xff01;&#xff01;&#x1f3f3;️‍&#x1f308;苏州程序大白&#x1f3f3;️‍&#x1f308;&#x1f31f;博主介绍&#x…

老徐讲解小程序与微信第三方平台及微信官方的关系。

小程序服务器关系分析 小程序是微信官方根据前后端完全分离的思想创建的一套自己的前端框架。 后端部分&#xff0c;则一部分交给微信官方提供授权和鉴别身份的官方接口&#xff0c;而主要的业务逻辑接口则交给第三方开发平台完成。 也就是微信提供了单独的一个微信小程序服务…

微信小程序扫码报工案例分享

使用微信小程序结合PC端ERP完成工序扫码报工扫码出入库&#xff0c;可以实现生产管理全流程自动化作业&#xff0c;使生产效率比之前手工操作有了质的飞跃。 本案例背景介绍 这是一家生产二极管的电子生产企业&#xff0c;车间自动化生产设备多&#xff0c;生产连续性强。产品…

小程序获取头像试试水 02《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》

本系列教程是针对粉丝的变现教程&#xff0c;还不是粉丝的可以关注我并且到社区&#xff1a;https://bbs.csdn.net/topics/603436232 进行打卡&#xff0c;不是老粉的也可以获取最终的技术变现学习&#xff0c;最终还有详细的变现教程等你来。 前言 《 程序员变现指南之 微信…

llama.cpp Mac版本llama

骆驼.cpp 路线图/宣言/ ggml 纯C/C中LLaMA模型的推理 热点话题&#xff1a; 简单的网络聊天示例&#xff1a;#1998k-quants 现在支持 64 的超级块大小 super-block size of 64:&#xff1a;#2001新路线图&#xff1a; https: //github.com/users/ggerganov/projects/7Azure …

解决老板们的一大难题---如何监管微信聊天

如今&#xff0c;企业越来越希望能够监管员工微信。但是&#xff0c;到底应该监管员工微信的哪些内容呢&#xff1f; 员工在微信上进行的聊天记录、红包转账、删除联系人和聊天记录、消息中涉及敏感词汇、以及客户名片和重要客户名片的发送等行为&#xff0c;老板们都想要掌握…