Skip to main content

Nonebot2 插件,基于mediawiki api搜索条目

Project description

nonebot-plugin-wiki

license pypi python wakatime

基于wikipedia,适用于 Nonebot2 的 mediawiki搜索 插件,同时你的Nonebot版本应不低于Nonebot2.0b1。

关于

本项目作为 AXbot/mws.py 的重构 nonebot2 适配版,代码逻辑已然完全不同,并且功能得到了更大的拓展,但仍旨在能于即时通讯平台中快速引用wiki条目,让由各大wiki中所整合的知识为更多人所用。

该项目目前仍属于较高频率代码变更状态,未发布正式版,可能并不适合立即投入生产环境,请务必于测试环境中进行调试后再投入生产环境。

安装

通过pip安装

pip install nonebot_plugin_wiki

从github仓库安装

克隆此仓库至 nonebot 生成的目录中对应的存放插件的文件夹内。

git clone https://github.com/ZombieFly/nb2-wiki.git

配置

本插件无需配置即可使用,同时亦可依照 nonebot 的 配置方法 对插件进行定制,以下配置项为可选配置:

  • PROXIES:代理地址,默认值为 {},当所使用的MWiki的 need_proxyTrue时使用;

  • 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的对应属性,属性应该为 nameapi_urlcurid_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 wiki适配器
  • add子命令添加的wiki名称已被使用,阻止注册
  • rm子命令删除时无论是否存在目标wiki都是返回“删除成功”,应当增加wiki存在性判定
  • 搜索时返回内容不是合规的json时的异常处理
  • 优化搜索流程,减少请求数,亦或是提高网络I/O利用率
  • 优化api检查机制

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot-plugin-wiki-0.0.3.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_wiki-0.0.3-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file nonebot-plugin-wiki-0.0.3.tar.gz.

File metadata

  • Download URL: nonebot-plugin-wiki-0.0.3.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for nonebot-plugin-wiki-0.0.3.tar.gz
Algorithm Hash digest
SHA256 ce74725b33296669586f7b9dfd0ce5c216673715ad50f029071787de7aa8cb38
MD5 5652965d4a80dd6e96e77b080f9605cd
BLAKE2b-256 753d28e2ad1a644496462bed365c56b43381bf94859278fbc93cedd2b10b6733

See more details on using hashes here.

File details

Details for the file nonebot_plugin_wiki-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_wiki-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8cd55dca8b4b8befc8175f2c5a3d3d071623f585688f729afcbe5d1f33926d48
MD5 2e3c6bcd3140f8063077fb7cdbfb6482
BLAKE2b-256 57cb3f2679d22a574d8b4a68b31137243d8eab50dcc9caea5a56d66a0be91a16

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page