|
1 | | -# nonebot-plugin-paper |
2 | | -## 🚧WIP🚧 |
| 1 | +<!-- markdownlint-disable MD033 MD036 MD041 MD045 --> |
| 2 | +<div align="center"> |
| 3 | + <a href="https://v2.nonebot.dev/store"> |
| 4 | + <img src="./docs/NoneBotPlugin.svg" width="300" alt="logo"> |
| 5 | + </a> |
| 6 | +</div> |
| 7 | + |
| 8 | +<div align="center"> |
| 9 | + |
| 10 | +# NoneBot-Plugin-Paper |
| 11 | + |
| 12 | +_✨ NoneBot arXiv Paper Search Plugin ✨_ |
| 13 | + |
| 14 | +<a href=""> |
| 15 | + <img src="https://img.shields.io/pypi/v/nonebot-plugin-paper.svg" alt="pypi" /> |
| 16 | +</a> |
| 17 | +<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python"> |
| 18 | +<a href="https://pdm.fming.dev"> |
| 19 | + <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fpdm-project%2F.github%2Fbadge.json" alt="pdm-managed"> |
| 20 | +</a> |
| 21 | +<a href="https://github.com/nonebot/plugin-alconna"> |
| 22 | + <img src="https://img.shields.io/badge/Alconna-resolved-2564C2" alt="alc-resolved"> |
| 23 | +</a> |
| 24 | + |
| 25 | +<br/> |
| 26 | + |
| 27 | +<a href="https://registry.nonebot.dev/plugin/nonebot-plugin-paper:nonebot_plugin_paper"> |
| 28 | + <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fnbbdg.lgc2333.top%2Fplugin%2Fnonebot-plugin-paper" alt="NoneBot Registry" /> |
| 29 | +</a> |
| 30 | +<a href="https://registry.nonebot.dev/plugin/nonebot-plugin-paper:nonebot_plugin_paper"> |
| 31 | + <img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fnbbdg.lgc2333.top%2Fplugin-adapters%2Fnonebot-plugin-paper" alt="Supported Adapters" /> |
| 32 | +</a> |
| 33 | + |
| 34 | +<br /> |
| 35 | + |
| 36 | +[//]: # (<a href="#-screenshots">) |
| 37 | + |
| 38 | +[//]: # ( <strong>📸 Demo & Preview</strong>) |
| 39 | + |
| 40 | +[//]: # (</a>) |
| 41 | + |
| 42 | +[//]: # ( | ) |
| 43 | + |
| 44 | +[//]: # (<a href="#-installation">) |
| 45 | + |
| 46 | +[//]: # ( <strong>📦️ Download Plugin</strong>) |
| 47 | + |
| 48 | +[//]: # (</a>) |
| 49 | + |
| 50 | +</div> |
| 51 | + |
| 52 | +## 📖 Introduction |
| 53 | + |
| 54 | +NoneBot arXiv Paper search |
| 55 | +Plugin for [arXiv APIs](https://info.arxiv.org/help/api/tou.html) |
| 56 | + |
| 57 | +Wiki: 👉 [Portal](https://github.com/BalconyJH/nonebot-plugin-paper/wiki) |
| 58 | + |
| 59 | +> [!IMPORTANT] |
| 60 | +> **Star this project** to receive all release notifications from GitHub without delay! |
| 61 | +> ⭐️ |
| 62 | +
|
| 63 | +<img width="100%" src="https://starify.komoridevs.icu/api/starify?owner=BalconyJH&repo=nonebot-plugin-paper" alt="starify" /> |
| 64 | + |
| 65 | +## 💿 Installation |
| 66 | + |
| 67 | +Choose **one** of the following methods |
| 68 | + |
| 69 | +> [!TIP] |
| 70 | +> Multiple rendering methods are provided for paper information. By default, `plaintext` |
| 71 | +> is used, which means no rendering, text-only output. |
| 72 | +> In this case, the plugin requires no additional dependencies. |
| 73 | +> Optional dependencies include `playwright`, `skia`, and `pillow`. Use |
| 74 | +`nonebot-plugin-paper[skia]` during installation |
| 75 | +> to include required dependencies. |
| 76 | +
|
| 77 | +<details open> |
| 78 | +<summary>[Recommended] Install using nb-cli</summary> |
| 79 | +Open command line in the Bot root directory and enter the following command |
| 80 | + |
| 81 | +```shell |
| 82 | +nb plugin install nonebot-plugin-paper |
| 83 | +``` |
| 84 | + |
| 85 | +</details> |
| 86 | +<details> |
| 87 | +<summary>Install using package manager</summary> |
| 88 | + |
| 89 | +```shell |
| 90 | +pip install nonebot-plugin-paper |
| 91 | +# or, use poetry |
| 92 | +poetry add nonebot-plugin-paper |
| 93 | +# or, use pdm |
| 94 | +pdm add nonebot-plugin-paper |
| 95 | +``` |
| 96 | + |
| 97 | +Open the configuration file in your NoneBot project root directory and append to the |
| 98 | +`[plugin]` section |
| 99 | + |
| 100 | +```toml |
| 101 | +plugins = ["nonebot_plugin_paper"] |
| 102 | +``` |
| 103 | + |
| 104 | +</details> |
| 105 | + |
| 106 | +## ⚙️ Configuration |
| 107 | + |
| 108 | +For ArxivConfig settings, please refer |
| 109 | +to:👉 [ArxivConfig Configuration](https://balconyjh.github.io/aioarxiv/configuration.html) |
| 110 | + |
| 111 | +| Config Item | Required | Default | Description | |
| 112 | +|:------------------:|:--------:|:-------------:|:--------------------------------------------------------------------------------------:| |
| 113 | +| arxiv_paper_render | No | plaintext | Paper render type | |
| 114 | +| arxiv_config | No | ArxivConfig() | Can be passed via nonebot.init(), config model will automatically read dotenv settings | |
| 115 | + |
| 116 | +## 🎉 使用 |
| 117 | + |
| 118 | +> [!note] |
| 119 | +> Please check your `COMMAND_START` and the above configuration items. Default prefix is |
| 120 | +`/` |
| 121 | + |
| 122 | +### Command Tree |
| 123 | + |
| 124 | +```bash |
| 125 | +paper --search | -s [keyword] |
| 126 | + --sort ['relevance', 'lastUpdatedDate', 'submittedDate'] |
| 127 | + --order ['ascending', 'descending'] |
| 128 | + --start [start] |
| 129 | + -id [paper_id] |
| 130 | +``` |
| 131 | + |
| 132 | +### Search by Keyword |
| 133 | + |
| 134 | +```bash |
| 135 | +/paper --search quantum computing |
| 136 | +``` |
| 137 | + |
| 138 | +### Search by Paper ID |
| 139 | + |
| 140 | +```bash |
| 141 | +/paper -id 2409.12922 |
| 142 | +``` |
| 143 | + |
| 144 | +## 💖 Acknowledgments |
| 145 | + |
| 146 | +- [`Polyisoprene`](https://github.com/Polyisoprene): Provided MVP implementation of skia |
| 147 | + rendering component |
| 148 | +- [`HibiKier`](https://github.com/HibiKier): Implemented command tree building for the |
| 149 | + plugin |
| 150 | +- [`KomoriDev/Starify`](https://github.com/BalconyJH/Starify):Provided cool badges |
| 151 | + |
| 152 | +### Contributors |
| 153 | + |
| 154 | +Thanks to these developers who contributed to this project: |
| 155 | + |
| 156 | +<a href="https://github.com/BalconyJH/nonebot-plugin-paper/graphs/contributors"> |
| 157 | + <img src="https://contrib.rocks/image?repo=BalconyJH/nonebot-plugin-paper&max=1000" alt="contributors" /> |
| 158 | +</a> |
| 159 | + |
| 160 | +## 📄 License |
| 161 | + |
| 162 | +This project is open-sourced under the [GPL-3.0 license](./LICENSE) |
0 commit comments