基于 wikipedia,适用于 Nonebot2 的 mediawiki搜索 插件,同时你的Nonebot版本应不低于Nonebot2.0b1。
关于
-
本项目作为 AXbot/mws.py 的重构 nonebot2 适配版,代码逻辑已然完全不同,并且功能得到了更大的拓展,但仍旨在能于即时通讯平台中快速引用wiki条目,让由各大wiki中所整合的知识为更多人所用。
-
不止步于mediawiki api,本项目正在尝试兼容Bilibili wiki。依托于 XZhouQD/nonebot-plugin-bwiki-navigator ,已具备部分兼容性,同时,基于网页解析的简介获取正在优化。
-
新的条目卡片已被纳入规划。
-
该项目目前仍未发布正式版,可能并不适合立即投入生产环境,请务必于测试环境中进行调试后再投入生产环境。
安装
通过 nb-cli 安装(推荐)
nb plugin install nonebot-plugin-wiki
通过 pip 安装
pip install nonebot_plugin_wiki
从 github 仓库克隆
克隆此仓库至 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。
待办
- add子命令判断wiki api是否可用,以及是否可直接生成简介
- 默认UA储存问题
- bilibili minecraft wiki适配器
- add子命令添加的wiki名称已被使用,阻止注册
- rm子命令删除时无论是否存在目标wiki都是返回“删除成功”,应当增加wiki存在性判定
- 优化BWiki简介生成
- 搜索时返回内容不是合规的json时的异常处理
- 优化搜索流程,减少请求数,亦或是提高网络I/O利用率
- 优化api检查机制
- 搜索结果缓存
- 条目卡片生成
- 重构子命令权限部分
Metadata
Release files for nonebot-plugin-wiki 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nonebot-plugin-wiki-0.1.0.tar.gz | 24.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nonebot_plugin_wiki-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.0 kB
Release files / nonebot-plugin-wiki-0.1.0.tar.gz
| Download URL | nonebot-plugin-wiki-0.1.0.tar.gz |
|---|---|
| Size | 24.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
445a5b812cce7eac9d7b1a4bcc30103a2bbfe34d774f77a42777e21a1af062d0
|
|
BLAKE2b-256 checksum How to use checksums |
edf0db8a86e43e9bb8fe59cadaf6f0ad43877f057306202037132f502fa6e81d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / nonebot_plugin_wiki-0.1.0-py3-none-any.whl
| Download URL | nonebot_plugin_wiki-0.1.0-py3-none-any.whl |
|---|---|
| Size | 25.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8dcb94e72dbb668db0e121568eb9f31758b5e48b87553e2366a028a4b5f537b9
|
|
BLAKE2b-256 checksum How to use checksums |
0fc0ded07c0d5f4cf5fe963d926f8d204f60a51a67cb06de16ef640c03b67d64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|