一、简介
在做完基本构建之后,自己的机器人旧可以开始使用了,但是只有一个内置的/echo命令。功能不够丰富。
因此,需要安装插件来获得更多的功能。
二、配置
参照nonebot的官网,编写命令 | NoneBot
首先是使用插件商店里面的插件来丰富功能,之后进一步探索新的领域,自制插件。
参考网址:GitHub - nonebot/nb-cli: CLI for nonebot2
如下:
nb plugin list
服务器状态查看 (nonebot-plugin-status) - 通过戳一戳获取服务器状态
HarukaBot (haruka-bot) - 将B站UP主的动态和直播信息推送至QQ
RAM 授权管理 (nonebot-plugin-rauthman) - 基于规则的授权管理
NoneBot离线文档 (nonebot-plugin-docs) - 在本地浏览NoneBot文档
Sentry日志监控 (nonebot-plugin-sentry) - 使用Sentry监控机器人日志并处理报错
前端测试机器人插件 (nonebot-plugin-test) - 在浏览器中测试你的 NoneBot 机器人
定时任务 (nonebot-plugin-apscheduler) - APScheduler 定时任务插件
图片搜索 (nonebot-plugin-picsearcher) - 从基本上所有你想的出名字的搜图平台找图片
通用数据库连接 (nonebot-plugin-navicat) - 连接至各种数据库,为其他插件导出连接对象
多语种翻译插件 (nonebot-plugin-translator) - 基于腾讯机器翻译 TMT
Web监视器 (nonebot-plugin-web) - Web Monitor 时刻视奸你的bot
nonebot-plugin-wordbank (nonebot-plugin-wordbank) - 无数据库的轻量问答插件,支持模糊问答
冷却事件 (nonebot-plugin-cooldown) - 为用户调用功能添加冷却时间(调用频率限制)功能
mqtt接入 (nonebot-plugin-mqtt) - 接入mqtt网络,订阅和发布消息
消息交互式 python 解释器 (nonebot-plugin-ipypreter) - 消息交互式 python 解释器
songpicker2 (nonebot-plugin-songpicker2) - 点播歌曲,支持候选菜单、热评显示,数据源为网易云
风格化字符串管理 (nonebot-plugin-styledstr) - 通过字符串标签管理字符串资源
Arcaea 查分器 (nonebot-plugin-arcaea) - Arcaea 查分器,可以实现 best30 | recent | songinfo 之类的查询功能并支持 D
hk-reporter (nonebot-hk-reporter) - 订阅如微博,bilibili,rss的更新消息
网易云无损音乐下载 (nonebot-plugin-ncm) - 网易云无损音乐下载
nonebot-plugin-cocdicer (nonebot-plugin-cocdicer) - COC跑团骰子娘
跑团记录记录器 (nonebot-plugin-trpglogger) - 记录跑团记录并上传
nonebot-plugin-r6s (nonebot-plugin-r6s) - 查询彩虹六号玩家信息
猜猜看 (nonebot-plugin-guess) - 多次互动猜名字游戏,自带猜城市名,可定制
缩写查询器 (nonebot_plugin_abbrreply) - 输入拼音首字母,猜测文字
biliav小程序转换器 (nonebot_plugin_biliav) - 将用户发的av号或者bv号转成小程序返回
插件管理器 (nonebot-plugin-manager) - 基于 import hook 的插件管理
bilibili视频、番剧解析 (nonebot-plugin-analysis-bilibili) - 自动解析bilibili视频、番剧解析
本地数据存储 (nonebot-plugin-localstore) - 存储插件数据至本地文件
nonebot_plugin_puppet (nonebot-plugin-puppet) - 多对多的会话转接
Minecraft 服务器状态查询 (nonebot-plugin-mcstatus) - 顾名思义
Nonebot2插件轻量帮助列表 (nonebot-plugin-help) - 读取并提供已加载Nonebot2插件开发者提供的帮助信息(用途)
nonebot_plugin_gamedraw (nonebot-plugin-gamedraw) - 基于爬取wiki实现自动更新的抽卡,目前支持赛马娘,原神,明日方舟,坎公骑冠剑,公主连结(国/台),碧蓝航线,
nonebot-plugin-alias (nonebot-plugin-alias) - 为 nonebot2 的指令创建别名
Nonebot2 消息撤回插件 (nonebot-plugin-withdraw) - 用于让机器人撤回自己发出的消息
nonebot_plugin_pixivrank_search (nonebot-plugin-pixivrank-search) - 基于RSSHUB阅读器的P站排行和P站搜图
nonebot_plugin_russian (nonebot-plugin-russian) - 群内小游戏,使用金币赌注的俄罗斯轮盘
nonebot_plugin_statistical (nonebot-plugin-statistical) - 一个简单的功能调用统计以及可视化插件
nonebot_plugin_setu (nonebot_plugin_setu) - 基于loliconImage Api的涩图插件,内置涩图CD
FlightRadar24查询模块 (nonebot-plugin-fr24) - 通过FlightRadar24查询航班信息
和风天气 (nonebot-plugin-heweather) - 获取和风天气信息并转换为图片
nonebot-plugin-autohelp (nonebot-plugin-autohelp) - 响应help/菜单/帮助(群消息或私信)并提供已载入插件的帮助信息(如命令名,aliases,模块文档)
孤寡机器人 (gugua_bot) - 让你的孤寡朋友露出阳光的笑容
布谷机器人 (bugu_bot) - 增进你和你单身朋友的友谊
nonebot-plugin-flexperm (nonebot-plugin-flexperm) - 精细化的 NoneBot 权限管理插件
Epic 限免游戏资讯 (nonebot_plugin_epicfree) - EpicGameStore 喜加一资讯插件,发送「喜加一」逝世看吧!
ELF_RSS (ELF-RSS) - QQ机器人 RSS订阅 插件,订阅源建议选择 RSSHub
ATRI语音包 (nonebot-plugin-atri) - 一个ATRI语音包,基于文本相似度匹配回复
HanayoriBot (nonebot-plugin-hanayori) - B站动态推送与开播提醒插件
HTTP静态文件托管 (nonebot-plugin-filehost) - 一款 HTTP 静态文件托管插件, 为跨机文件传输提供了优雅的解决方案
SimpleMusic (nonebot-plugin-simplemusic) - 最简Q群点歌插件,支持网易云、QQ音乐
pornhub风格图标生成 (nonebot-plugin-phlogo) - 生成pornhub风格logo
Twitter推送 (nonebot-plugin-twitter) - Twitter推送插件,自带推文翻译功能
nb2chan (nb2chan) - Nonebot2酱推送
nonebot-plugin-setu-now (nonebot-plugin-setu-now) - 另一个色图插件,即时下载并保存,可选WebDAV。可选特殊色图
上面是插件商店的列表,挑选几个作为测试。
但是下载了之后却在src/plugins路径中没有找到任何东西。很疑惑。
(20211030:今日就此作罢,改日再试验)
今天,调整完状态之后再次试验。由于之前所使用nb商店的方法发现并未将插件写入相应目录。所以这一次直接复制代码进入该目录。
cd src/
cd plugins/
vim zhanan.py
#进入相应目录后,使用vim编辑py文件,即将会使用到的命令
#由于插件商店不管用,此处直接手撸代码,(当然,这些都是从网上复制过来的,不过,出处已经忘记了),代码如下:
from nonebot import on_keyword, on_command
from nonebot.typing import T_State
from nonebot.adapters.cqhttp import Message, Bot, Event # 这两个没用的别删
from nonebot.adapters.cqhttp.message import MessageSegment
import requests
from nonebot.permission import *
from nonebot.rule import to_me
zhanan = on_keyword({'渣男文案'})
@zhanan.handle()
async def main(bot: Bot, event: Event, state: T_State):
url = "https://api.iyk0.com/zhanan"
resp = requests.get(url)
txt = resp.text
await zhanan.send(txt)
#之后重启机器人,开始加载新加入的插件的时候出错了,如下:
[Errno 98] error while attempting to bind on address ('127.0.0.1', 8088): address already ...
#经过分析是因为端口号被占用,使用如下命令找到占用端口号的程序,手动kill
netstat -anp | grep 8000
#此处8000为要查询的端口号
#找到占用该端口号的程序之后,使用其ID标志,直接手动kill
三、结果展示
如图,输入关键字即可:
四、后续
后续可能仍旧会上传一些有用的代码,但是为了尝试获取一下赞赏钱,可能会尝试VIP。