基于 wikipedia,适用于 Nonebot2 的 mediawiki搜索 插件,同时你的Nonebot版本应不低于Nonebot2.0b1。
本项目作为 AXbot/mws.py 的重构 nonebot2 适配版,代码逻辑已然完全不同,并且功能得到了更大的拓展,但仍旨在能于即时通讯平台中快速引用wiki条目,让由各大wiki中所整合的知识为更多人所用。
不止步于mediawiki api,本项目正在尝试兼容Bilibili wiki。依托于 XZhouQD/nonebot-plugin-bwiki-navigator ,已具备部分兼容性,同时,基于网页解析的简介获取正在优化。
新的条目卡片已被纳入规划。
该项目目前仍未发布正式版,可能并不适合立即投入生产环境,请务必于测试环境中进行调试后再投入生产环境。
此仓库原Fork自仓库 wikipedia,但因为当初并不熟练使用git,直接在原仓库中进行了修改,制作了本插件,最后导致原仓库的贡献者也出现在了本仓库内,如果对你产生了误导,望见谅。wikipedia 仓库的贡献者们提供了开放的优质项目,也在此表示鸣谢。你也可以在此本项目实际贡献者,同时,如果你有较好的移除显示原始贡献者的方法,欢迎致邮赐教。
nb plugin install nonebot-plugin-wiki
pip install nonebot_plugin_wiki
克隆此仓库至 nonebot 生成的目录中对应的存放插件的文件夹内。
git clone https://github.com/ZombieFly/nb2-wiki.git
本插件默认使用 中文 Minecraft Wiki 作为 RAW_MWIKI
记录,如需更改 ,可依照 nonebot 的 配置方法 对插件进行定制,以下配置项为可选配置:
PROXIES
:代理地址,默认值为 {}
,当所使用的MWiki的 need_proxy
为True
时使用;
REFER_MAX
:相关搜索结果最大返回值,默认值为 10
;
RETRY_TIMES
:api返回错误时最大重试次数,默认值为 1
;
RAW_MWIKI
: 默认MWiki对象,在直接使用/wiki <关键词>
命令时会使用此wiki记录,默认值为 {"name": "mc","api_url": "https://minecraft.fandom.com/zh/api.php","curid_url": "https://minecraft.fandom.com/zh/index.php?curid=","user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit 537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36","need_proxy": false}
;
CMD_START
:命令触发头,默认值为["wiki", "维基"]
。
以下命令实例中,假定bot配置的命令头为 .
、/
,请依据实际情况替换。
/wiki <关键词>
通过 raw_MWiki
发起搜索,一个可用实例:
/wiki 绵羊
/wiki.add <自定义wiki简称> <wiki地址> <-d/D (可选)>
(限群管理员权限)wiki地址
应为 /api.php
或 /index.php?curid=
前部分,链接开头的http协议可省略,(如 minecraft.fandom.com/zh/
)。当需要使用的api与curid链接前部分不相同时,可在记录后,使用set
子命令进行修改;/
、 .
可替换为任一被定义的命令头,例如在本文档假设的环境中, .wiki/add
、 /wiki/add
等的皆可触发此子命令,下文将不再赘述此特征;-D
或 -d
,添加后,将跳过wiki api可用性检查,直接记录wiki。.wiki.add mc minecraft.fandom.com/zh/ -D
.wiki.set <已记录wiki名> <属性> <值>
(限群管理员权限)修改已记录的wiki的对应属性,属性
应该为 name
、api_url
、curid_url
等的MWiki属性, 值
为所需要更改后的值。
.wiki.rm <已记录wiki名>
(限群管理员权限)从本群记录中移除指定已记录wiki。
.wiki.<已记录wiki名> <关键词>
指定使用一个已记录的wiki发起搜索。一个可能的实例:
.wiki.moe 别当欧尼酱了
.wiki.ls
列出本群所有已记录wiki。
.wiki.lsl <已记录wiki名>
(限群管理员权限)以json形式返回目标已记录wiki的完全记录内容,当不追加参数指定wiki时将返回配置文件中的 RAW_MWIKI
。