diff --git a/docs/.vitepress/nav/navbar.js b/docs/.vitepress/nav/navbar.js index ba38411a..1e16d85b 100644 --- a/docs/.vitepress/nav/navbar.js +++ b/docs/.vitepress/nav/navbar.js @@ -1,3 +1,5 @@ +import { adapters } from './sidebar' + export default [ { text: '主页', @@ -11,80 +13,25 @@ export default [ ] }, { - text: '基础指南', + text: '开发指南', items: [ - { - text: '起步', - items: [ - { text: '开始使用', link: '/develop/basic/index.md' }, - { text: '注册消息响应', link: '/develop/basic/messageHandler.md' }, - { text: '构建回复消息', link: '/develop/basic/sendMessage.html#构建消息的方法' }, - { text: '事件监听', link: '/develop/basic/handleEvents.md' }, - { text: '异常监听', link: '/develop/basic/handleException.md' }, - { text: '测试', link: '/develop/basic/testInstance.md' } - ] - }, - { - text: 'API', - items: [ - { text: '使用说明', link: '/develop/basic/api/index.md' }, - { text: 'QQ 频道', link: '/develop/basic/api/qqbot.md' } - ] - }, - { - text: '适配器', - items: [ - { text: 'QQ频道机器人', link: '/develop/adapters/qqChannel.md' }, - { text: 'KOOK机器人', link: '/develop/adapters/kook.md' }, - { text: 'Mirai-Api-Http', link: '/develop/adapters/mah.md' }, - { text: 'Go-CQHttp', link: '/develop/adapters/gocq.md' }, - { text: 'ComWeChatBot Client', link: '/develop/adapters/comwechat.md' }, - { text: 'OneBot 11', link: '/develop/adapters/onebot11.md' }, - { text: 'OneBot 12', link: '/develop/adapters/onebot12.md' }, - ] - } + { text: '基础指南', link: '/develop/basic/index.md' }, + { text: '进阶指南', link: '/develop/advanced/' }, + { text: '插件开发', link: '/develop/plugin/' }, ] }, { - text: '进阶指南', - items: [ - { - text: '进阶开发', - items: [ - { text: '生命周期', link: '/develop/advanced/lifeCycle.md' }, - { text: '定时任务', link: '/develop/advanced/timedTask.md' }, - { text: '事件总线', link: '/develop/advanced/eventBus.md' }, - { text: '日志模块', link: '/develop/advanced/logger.md' }, - { text: '加载插件', link: '/develop/advanced/loadPlugins.md' } - ] - }, - { - text: '辅助', - items: [ - { text: 'HTTP 请求', link: '/develop/advanced/httpRequests.md' }, - { text: '处理 IO 阻塞的操作', link: '/develop/advanced/blockingIO.md' }, - { text: '改变 Playwright 启动', link: '/develop/advanced/playwright.md' }, - { text: '启动参数', link: '/develop/advanced/startupParameter.md' } - ] - }, - { - text: '额外支持', - items: [ - { text: 'HTTP 服务器', link: '/develop/advanced/httpSupport.md' }, - { text: '数据库', link: '/develop/advanced/databaseSupport.md' } - ] - } - ] - }, - { - text: '插件开发', - link: '/develop/plugin/' + text: '适配器', + items: adapters }, { - text: 'AmiyaBot-demo-V6', + text: '兔兔-V6', items: [ - { text: '部署', link: '/guide/deploy/' }, - { text: '常见问题', link: '/guide/deploy/faq/commonProblem' } + { text: '开始部署', link: '/guide/deploy/' }, + { text: '常见问题', link: '/guide/deploy/faq/commonProblem' }, + { text: '连接控制台', link: '/guide/deploy/console/index.md' }, + { text: '如何更新', link: '/guide/deploy/maintain/upgrade.md' }, + { text: '高级使用', link: '/guide/deploy/advanced/index.md' }, ] }, { diff --git a/docs/.vitepress/nav/sidebar.js b/docs/.vitepress/nav/sidebar.js index f8e4066e..d2b2001c 100644 --- a/docs/.vitepress/nav/sidebar.js +++ b/docs/.vitepress/nav/sidebar.js @@ -1,3 +1,15 @@ +export const adapters = [ + { text: 'QQ频道机器人', link: '/develop/adapters/qqChannel.md' }, + { text: 'QQ群机器人', link: '/develop/adapters/qqGroup.md' }, + { text: 'KOOK机器人', link: '/develop/adapters/kook.md' }, + { text: 'Mirai-Api-Http', link: '/develop/adapters/mah.md' }, + { text: 'Go-CQHttp', link: '/develop/adapters/gocq.md' }, + { text: 'ComWeChatBot Client', link: '/develop/adapters/comwechat.md' }, + { text: 'OneBot 11', link: '/develop/adapters/onebot11.md' }, + { text: 'OneBot 12', link: '/develop/adapters/onebot12.md' }, + +] + export default { '/develop/basic/': [ { @@ -86,13 +98,7 @@ export default { collapsible: true, items: [ { text: '说明', link: '/develop/adapters/index.md' }, - { text: 'QQ频道机器人', link: '/develop/adapters/qqChannel.md' }, - { text: 'KOOK机器人', link: '/develop/adapters/kook.md' }, - { text: 'Mirai-Api-Http', link: '/develop/adapters/mah.md' }, - { text: 'Go-CQHttp', link: '/develop/adapters/gocq.md' }, - { text: 'ComWeChatBot Client', link: '/develop/adapters/comwechat.md' }, - { text: 'OneBot 11', link: '/develop/adapters/onebot11.md' }, - { text: 'OneBot 12', link: '/develop/adapters/onebot12.md' }, + ...adapters ] } ], @@ -106,7 +112,8 @@ export default { { text: '定时任务', link: '/develop/advanced/timedTask.md' }, { text: '事件总线', link: '/develop/advanced/eventBus.md' }, { text: '日志模块', link: '/develop/advanced/logger.md' }, - { text: '加载插件', link: '/develop/advanced/loadPlugins.md' } + { text: '加载插件', link: '/develop/advanced/loadPlugins.md' }, + { text: '介入媒体消息', link: '/develop/advanced/chainBuilder.md' }, ] }, { @@ -175,8 +182,8 @@ export default { text: '准备', collapsible: true, items: [ - { text: '部署AmiyaBot-demo-v6', link: '/guide/deploy/index.md' }, - { text: '选择你的运营方', link: '/guide/deploy/yourChoose.md' }, + { text: '部署兔兔-v6', link: '/guide/deploy/index.md' }, + // { text: '选择你的运营方', link: '/guide/deploy/yourChoose.md' }, { text: '开始部署', link: '/guide/deploy/getStarted.md' }, ] }, diff --git a/docs/develop/adapters/qqGroup.md b/docs/develop/adapters/qqGroup.md new file mode 100644 index 00000000..2d0ed21c --- /dev/null +++ b/docs/develop/adapters/qqGroup.md @@ -0,0 +1,94 @@ +# QQ 群机器人 Beta + +在 [QQ 开放平台](https://bot.q.qq.com/wiki/#_2-%E4%BC%81%E4%B8%9A%E4%B8%BB%E4%BD%93%E5%85%A5%E9%A9%BB) 完成企业主体入驻,即可创建可在 +QQ 群聊里使用的 QQ 群机器人。 + +## 在公网下使用 + +QQ 群聊适配器需要在本地启动资源服务让腾讯端能够访问媒体资源,默认在公网下使用。 + +```python +from amiyabot.adapters.tencent.qqGroup import qq_group + +client_secret = '******' # 密钥 + +bot = AmiyaBot(appid='******', token='******', adapter=qq_group(client_secret)) +``` + +- 在机器人启动时,资源服务也会一同启动。 +- 默认的资源服务是端口单例的,实例化多个 QQ 群聊适配器 AmiyaBot 或使用 [多账号](/develop/basic/multipleAccounts.html) + 时,同一个端口的资源服务会相互共享。 + +### 修改资源服务配置 + +引入 `QQGroupChainBuilderOptions` 修改默认的资源服务配置。 + +| 参数名 | 类型 | 释义 | 默认值 | +|---------------------|------|-----------------------------------------------------------|------------| +| host | str | 资源服务监听地址 | 0.0.0.0 | +| port | int | 资源服务监听端口 | 8086 | +| resource_path | str | 临时文件存放目录 | ./resource | +| http_server_options | dict | [HttpServer **kwargs](/develop/advanced/httpSupport.html) | | + +```python +from amiyabot.adapters.tencent.qqGroup import qq_group +from amiyabot.adapters.tencent.qqGroup.builder import QQGroupChainBuilderOptions + +bot = AmiyaBot( + appid='******', + token='******', + adapter=qq_group( + client_secret='******', + default_chain_builder_options=QQGroupChainBuilderOptions( + '0.0.0.0', + 8086, + './resource', + ), + ), +) +``` + +## 自定义资源服务 + +多数情况下我们推荐使用第三方托管服务来搭建资源服务,如 [腾讯云COS](https://www.baidu.com/s?wd=%E8%85%BE%E8%AE%AF%E4%BA%91COS) +或 [阿里云OSS](https://www.baidu.com/s?wd=%E9%98%BF%E9%87%8C%E4%BA%91OSS) 等。 + +通过自定义默认的 `ChainBuilder`,来实现上传文件到托管服务以及返回生成的 url。 + +普通 ChainBuilder 可参考 [进阶指南 - 介入媒体消息](/develop/advanced/chainBuilder.md) +,但在这里更推荐继承适配器中的 `QQGroupChainBuilder`。 + +### 普通 ChainBuilder + +```python +from typing import Union +from graiax import silkcoder +from amiyabot import ChainBuilder + +class MyBuilder(ChainBuilder): + @classmethod + async def get_image(cls, image: Union[str, bytes]) -> Union[str, bytes]: + # 上传图片到第三方托管服务 + ... + return url # 返回访问资源的 URL + + @classmethod + async def get_voice(cls, voice_file: str) -> str: + # 上传语音文件到第三方托管服务,语音文件必须是 silk 格式 + voice: bytes = await silkcoder.async_encode(voice_file, ios_adaptive=True) + ... + return url # 返回访问资源的 URL + + @classmethod + async def get_video(cls, video_file: str) -> str: + # 上传视频文件到第三方托管服务 + ... + return url # 返回访问资源的 URL + + +bot = AmiyaBot(..., adapter=qq_group(default_chain_builder=MyBuilder())) +``` + +### 继承 QQGroupChainBuilder + +🚧 文档编写中... 🚧 diff --git a/docs/develop/advanced/chainBuilder.md b/docs/develop/advanced/chainBuilder.md new file mode 100644 index 00000000..c35af772 --- /dev/null +++ b/docs/develop/advanced/chainBuilder.md @@ -0,0 +1,90 @@ +# 介入 Chain 构建媒体消息时的操作 + +Chain 对象在构建消息时,可使用辅助类介入媒体消息或浏览器的构建过程。 + +## 创建辅助类 + +继承 `ChainBuilder` 类并覆写其方法创建一个自定义的辅助类。在实例化 Chain 时,传入辅助类实例即可介入 Chain 的操作。 + +```python +from typing import Union +from amiyabot import Chain, ChainBuilder +from playwright.async_api import Page + +class MyBuilder(ChainBuilder): + @classmethod + async def get_image(cls, image: Union[str, bytes]) -> Union[str, bytes]: + ... + return image + + @classmethod + async def get_voice(cls, voice_file: str) -> str: + ... + return voice_file + + @classmethod + async def get_video(cls, video_file: str) -> str: + ... + return video_file + + @classmethod + async def on_page_rendered(cls, page: Page): + ... + + +# 在构造参数里使用辅助类 +chain = Chain(..., chain_builder=MyBuilder()) + +# 为属性赋值使用辅助类 +chain.builder = MyBuilder() +``` + +## get_image + +该函数会在 chain 构建图片消息时调用,每张图片调用一次。传入一个参数 `image` ,类型为 `str`(文件路径或 url) 或 +`bytes`(图片字节数据)。
+如果函数有返回值(必须是以上两种类型),chain 会使用返回值构建图片消息。 + +## get_voice + +该函数会在 chain 构建语音消息时调用,每个语音文件调用一次。传入文件路径 `voice_file`。
+如果函数有返回值,chain 会使用返回值构建语音消息。 + +## get_video + +该函数会在 chain 构建视频消息时调用,每个视频文件调用一次。传入文件路径 `video_file`。
+如果函数有返回值,chain 会使用返回值构建视频消息。 + +## on_page_rendered + +该函数会在 chain 构建浏览器渲染的图片并打开了页面时调用,提供了浏览器的 `Page` 对象,可在此对 `Page` 进行操作(如对页面进行 +JS 注入等)。 + +::: tip 提示 +构建浏览器渲染的图片同样也会调用一次 `get_image` 函数。 +::: + +**使用示例** + +```python +class BaiduSearch(ChainBuilder): + @classmethod + async def on_page_rendered(cls, page: Page): + """ + 可以在截图前先对页面进行操作,比如 ”百度一下“ + """ + await page.locator('#kw').fill('AmiyaBot') + await page.locator('#su').click() + await asyncio.sleep(2) + + +@bot.on_message(keywords='hello') +async def _(data: Message): + chain = Chain(data, chain_builder=BaiduSearch()) + + return chain.html( + 'https://www.baidu.com/', + is_template=False, + render_time=1000, + ) +``` diff --git a/docs/develop/advanced/httpRequests.md b/docs/develop/advanced/httpRequests.md index 4aca779b..1905573f 100644 --- a/docs/develop/advanced/httpRequests.md +++ b/docs/develop/advanced/httpRequests.md @@ -22,9 +22,41 @@ await http_requests.request() await download_async() ``` -`http_requests` 的请求均返回**字符串**的请求结果。`download_async` 方法则默认返回 **bytes** 结果。 +## 返回值 -## GET +`http_requests` 的请求均返回**字符串**的请求结果(如果请求失败会返回空字符串),但有些不一样。这个 “字符串” 可以使用一些额外的属性。 + +### json + +调用这个属性会尝试返回 json 格式化的 `responseText` 内容。 + +```python +res = await http_requests.post('/interface', {...}) +if res: + data = res.json['data'] +``` + +### response + +调用这个属性可以返回请求结果(`aiohttp.ClientResponse` 的实例),可以获取请求的状态码和其他信息。 + +```python +res = await http_requests.post('/interface', {...}) + +status = res.response.status +``` + +### error + +如果请求失败,可以调用这个属性获取异常(`Exception` 的实例)。 + +```python +res = await http_requests.post('/interface', {...}) + +error = res.error +``` + +## GET 请求 ```python res: str = await http_requests.get() @@ -35,7 +67,7 @@ res: str = await http_requests.get() | interface | str | 请求地址 | | | **kwargs | | [request 参数](https://github.com/aio-libs/aiohttp/blob/master/aiohttp/client.py#L316) | | -## POST +## POST 请求 post 方法默认在请求头内添加 `'Content-Type': 'application/json'`,请求体**仅接受字典或列表类型数据**。 @@ -50,7 +82,7 @@ res: str = await http_requests.post() | headers | dict | 追加的请求头 | | | **kwargs | | [request 参数](https://github.com/aio-libs/aiohttp/blob/master/aiohttp/client.py#L316) | | -## 发送 form 表单请求 +## FORM 表单请求 post_form 方法类似 post 方法。唯一不同的是请求体仅接受**字典类型**,发送请求时会被构建为 form data 表单数据。 diff --git a/docs/develop/advanced/httpSupport.md b/docs/develop/advanced/httpSupport.md index 7cb75b95..9ada7497 100644 --- a/docs/develop/advanced/httpSupport.md +++ b/docs/develop/advanced/httpSupport.md @@ -4,6 +4,18 @@ AmiyaBot 内置了基于 [FastApi](https://fastapi.tiangolo.com/) 的HTTP服务 ## 创建服务 +### HttpServer 类 + +| 参数名 | 类型 | 释义 | 默认值 | +|-----------------|------|-------------------------|--------------------------| +| host | str | 服务监听地址 | | +| port | int | 服务监听端口 | | +| title | str | swagger 页面标题 | AmiyaBot | +| description | str | swagger 页面注释 | https://www.amiyabot.com | +| auth_key | str | 请求头密钥 | | +| fastapi_options | dict | FastAPI **kwargs | | +| uvicorn_options | dict | uvicorn.Config **kwargs | | + ```python from amiyabot import HttpServer @@ -24,7 +36,7 @@ class Bot: asyncio.run(server.serve()) ``` -运行代码,访问 http://0.0.0.0:8088/docs 页面,即可看到生成了如下两个接口。 +运行代码,访问 http://127.0.0.1:8088/docs 即可看到生成了如下两个接口。 ``` /bot/getName diff --git a/docs/develop/advanced/loadPlugins.md b/docs/develop/advanced/loadPlugins.md index 64561a7e..a18631da 100644 --- a/docs/develop/advanced/loadPlugins.md +++ b/docs/develop/advanced/loadPlugins.md @@ -4,7 +4,7 @@ ## 前言 -插件设计的目的是因为 [主项目 AmiyaBot-demo](https://github.com/AmiyaBot/Amiya-Bot) +插件设计的目的是因为 [兔兔-v6](https://github.com/AmiyaBot/Amiya-Bot) 通常会以可执行文件的形式发布,将一些功能模块分散为插件的形式,更有助于用户灵活的管理自己的机器人功能,以及对单独的功能进行热更新。 AmiyaBot 的插件加载得益于 Python 作为脚本语言的一个优点:**动态执行代码**,配合标准库的 `importlib` 和 diff --git a/docs/develop/advanced/startupParameter.md b/docs/develop/advanced/startupParameter.md index afc762bb..3a2017dc 100644 --- a/docs/develop/advanced/startupParameter.md +++ b/docs/develop/advanced/startupParameter.md @@ -11,7 +11,7 @@ | --text-max-length | 是 | 100 | Chain 对象转换文字图片的文字长度最大值 | | --browser-page-not-close | 否 | | 取消自动关闭 playwright 的网页窗口 | -## 在 AmiyaBot-demo 下使用 +## 在 兔兔-v6 下使用 代码部署 diff --git a/docs/develop/basic/api/index.md b/docs/develop/basic/api/index.md index 952af1b2..c17e3814 100644 --- a/docs/develop/basic/api/index.md +++ b/docs/develop/basic/api/index.md @@ -19,12 +19,12 @@ await bot.instance.api.get_me() 我们强烈建议在使用不同的适配器时,引入相应的 API 类注解 api 属性。它们通常在适配器模块的 `api` 模块下。 ```python -from amiyabot.adapters.tencent.api import TencentAPI +from amiyabot.adapters.tencent.qqGuild.api import QQGuildAPI # from amiyabot.adapters.cqhttp.api import CQHttpAPI # from amiyabot.adapters.kook.api import KOOKAPI -api: TencentAPI = bot.instance.api +api: QQGuildAPI = bot.instance.api await api.get_me() ``` @@ -72,34 +72,4 @@ res = await bot.instance.api.post('/interface', {...}) ## api 的返回 -所有 api 的返回都是 `responseText` **字符串**(如果请求失败会返回空),但有些不一样。这个 “字符串” 可以使用一些额外的属性。 - -### json - -调用这个属性会尝试返回 json 格式化的 `responseText` 内容。 - -```python -res = await bot.instance.api.post('/interface', {...}) -if res: - data = res.json['data'] -``` - -### response - -调用这个属性可以返回请求结果(`aiohttp.ClientResponse` 的实例),可以获取请求的状态码和其他信息。 - -```python -res = await bot.instance.api.post('/interface', {...}) - -status = res.response.status -``` - -### error - -如果请求失败,可以调用这个属性获取异常(`Exception` 的实例)。 - -```python -res = await bot.instance.api.post('/interface', {...}) - -error = res.error -``` +参考 [进阶指南 - HTTP 请求 - 返回值](/develop/advanced/httpRequests.html#返回值) diff --git a/docs/develop/basic/sendMessage.md b/docs/develop/basic/sendMessage.md index dd1524b2..f846843d 100644 --- a/docs/develop/basic/sendMessage.md +++ b/docs/develop/basic/sendMessage.md @@ -59,45 +59,5 @@ Chain().text(...).image(...) ## 使用辅助类扩展构建 -Chain 在构建时,可使用辅助类介入图片或浏览器的构建过程。 - -### 创建辅助类 - -```python -from typing import Union -from amiyabot import Chain, ChainBuilder -from playwright.async_api import Page - - -# 继承 ChainBuilder -class MyBuilder(ChainBuilder): - @classmethod - async def get_image(cls, image: Union[str, bytes]): - ... - return image - - @classmethod - async def on_page_rendered(cls, page: Page): - ... - - -# 在构造参数里使用辅助类 -chain = Chain(..., chain_builder=MyBuilder()) - -# 为属性赋值使用辅助类 -chain.builder = MyBuilder() -``` - -### get_image 函数 - -该函数会在 chain 构建图片消息时调用,每张图片会调用一次。传入一个参数 `image` ,类型为 `str`(path 或 url) 或 -`bytes`(图片字节数据)。该函数必须拥有返回值,同样是以上两种类型,chain 会根据返回的类型做进一步处理。 - -### on_page_rendered 函数 - -该函数会在 chain 构建浏览器渲染的图片并打开了页面时调用,提供了浏览器的 `Page` 对象,可在此对 `Page` 进行操作(如对页面进行 -JS 注入等)。 - -::: tip 提示 -构建浏览器渲染的图片同样也会调用一次 `get_image` 函数。 -::: +Chain +对象在构建消息时,可使用辅助类介入媒体消息或浏览器的构建过程。请移步 [进阶指南 - 介入媒体消息](/develop/advanced/chainBuilder.md) diff --git a/docs/develop/basic/testInstance.md b/docs/develop/basic/testInstance.md index e872dc78..0e834139 100644 --- a/docs/develop/basic/testInstance.md +++ b/docs/develop/basic/testInstance.md @@ -24,7 +24,3 @@ asyncio.run(bot.start()) 运行实例,访问 https://console.amiyabot.com/#/test 并输入配置的地址和 appid 连接测试服务,即可模拟测试对话。 ![test.png](../../assets/console/test.png) - -::: warning 提示
-暂不支持播放语音 -::: diff --git a/docs/develop/plugin/amiyaBotPluginInstance.md b/docs/develop/plugin/amiyaBotPluginInstance.md index 31b21268..99ec5960 100644 --- a/docs/develop/plugin/amiyaBotPluginInstance.md +++ b/docs/develop/plugin/amiyaBotPluginInstance.md @@ -1,6 +1,6 @@ # AmiyaBotPluginInstance -AmiyaBotPluginInstance 是 [AmiyaBot-demo](/guide/deploy/) 项目中的对插件类 PluginInstance 的扩展实现。使用该类创建插件时,能够获得更多的能力。 +AmiyaBotPluginInstance 是 [兔兔-v6](/guide/deploy/) 项目中的对插件类 PluginInstance 的扩展实现。使用该类创建插件时,能够获得更多的能力。 在 demo 项目里导入 `AmiyaBotPluginInstance` 创建插件。 diff --git a/docs/develop/plugin/debug.md b/docs/develop/plugin/debug.md index 85d833b4..f88cbd83 100644 --- a/docs/develop/plugin/debug.md +++ b/docs/develop/plugin/debug.md @@ -5,7 +5,7 @@ ## 在测试脚本中调试 -在 AmiyaBot-demo 根目录下的 **run_test.py** 内,修改如下位置的代码。 +在 兔兔-v6 根目录下的 **run_test.py** 内,修改如下位置的代码。 ```python # 显式导入插件开发目录,可以在编辑器 DEBUG 调试。 diff --git a/docs/develop/plugin/env.md b/docs/develop/plugin/env.md index 2351b4b3..28aa889b 100644 --- a/docs/develop/plugin/env.md +++ b/docs/develop/plugin/env.md @@ -7,7 +7,7 @@ demo 项目以及插件仓库的代码。 ## 克隆仓库 -克隆 AmiyaBot-demo +克隆 兔兔-v6 ```bash git clone https://github.com/AmiyaBot/Amiya-Bot.git @@ -30,7 +30,7 @@ Amiya-Bot ... ``` -建议安装 AmiyaBot-demo 的依赖,如果**不需要使用 demo 的内置模块**或是你在自己的目录内开发插件。那么只需要安装 amiyabot 即可。 +建议安装 兔兔-v6 的依赖,如果**不需要使用 demo 的内置模块**或是你在自己的目录内开发插件。那么只需要安装 amiyabot 即可。 ```bash pip install amiyabot diff --git a/docs/develop/plugin/index.md b/docs/develop/plugin/index.md index 85ae7fff..b7ac9e8d 100644 --- a/docs/develop/plugin/index.md +++ b/docs/develop/plugin/index.md @@ -1,3 +1,3 @@ # 简要说明 -本文档将讲述如何为 [AmiyaBot-demo](/guide/deploy/) (以下简称 demo)开发插件。 +本文档将讲述如何为 [兔兔-v6](/guide/deploy/) 开发插件。 diff --git a/docs/download.md b/docs/download.md index 85f97eca..8632c2ea 100644 --- a/docs/download.md +++ b/docs/download.md @@ -8,7 +8,7 @@ import download from './components/download.vue' # 下载 -## AmiyaBot-demo-v6 +## 兔兔-v6 | 操作系统 | 下载 | 备注 | |---------|------------------------------|------------------------------------------| diff --git a/docs/guide/deploy/console/configure.md b/docs/guide/deploy/console/configure.md index f447eff8..040ee96a 100644 --- a/docs/guide/deploy/console/configure.md +++ b/docs/guide/deploy/console/configure.md @@ -8,24 +8,21 @@ ![](../../../assets/console/addBot.png) -## 填写配置表 +## QQ频道机器人(官方) -### QQ 频道机器人 +在 [QQ 开放平台](https://q.qq.com/#/) 查看并在实例配置填写你注册的频道机器人信息,表单字段就是对应内容。 -> 适配器类型:**QQ-Bot** +## QQ群机器人(官方) -填写你注册的频道机器人信息,表单字段就是对应内容。 +在 [QQ 开放平台](https://q.qq.com/#/) 查看并在实例配置填写你注册的群机器人信息,表单字段就是对应内容。 -### KOOK 机器人 +## KOOK机器人 -> 适配器类型:**KOOK** - -填写你创建的机器人应用的 `Token` 即可。KOOK 机器人不需要 appid,但你仍然需要在配置里随便填写一个 appid,推荐使用 KOOK +在 [KOOK 开发者平台](https://developer.kookapp.cn/app/index) 查看并在实例配置填写你创建的机器人应用的 `Token` 即可。KOOK +机器人不需要 appid,但你仍然需要在配置里随便填写一个 appid,推荐使用 KOOK 应用的 `Client Id`。 -### go-cqhttp支持的群聊机器人 - -> 适配器类型:**CQ-Http** +## CQ-Http QQ群机器人 `APP ID` 为登录在 go-cqhttp 的 **QQ 号**。
`TOKEN` 填写配置的 access-token,没有配置则不需要填写。
@@ -60,9 +57,7 @@ default-middlewares: &default bucket: 1 # 令牌桶大小 ``` -### mirai-api-http支持的群聊机器人 - -> 适配器类型:**Mirai-api-http** +## Mirai-api-http QQ群机器人 `APP ID` 为登录在 mirai-api-http 的 **QQ 号**。
`TOKEN` 为 mirai-api-http 的 **AuthKey**。
@@ -90,9 +85,9 @@ adapterSettings: reservedSyncId: -1 ``` -### 点击“保存并启动”运行实例。 +## 运行实例 -当实例状态为在线时,即启动成功。 +点击“保存并启动”运行实例,当实例状态为在线时,即启动成功。 image diff --git a/docs/guide/deploy/index.md b/docs/guide/deploy/index.md index 16a656a0..b8e45961 100644 --- a/docs/guide/deploy/index.md +++ b/docs/guide/deploy/index.md @@ -1,13 +1,13 @@ # 简要说明 -《明日方舟》机器人 **AmiyaBot-demo-v6** -为本框架的主体项目([Github 仓库](https://github.com/AmiyaBot/Amiya-Bot))。是 [Amiya-Bot V5](https://www.amiya.cn/) +《明日方舟》机器人 [兔兔-v6](https://github.com/AmiyaBot/Amiya-Bot) +为本框架的主体项目。是 [Amiya-Bot V5](https://github.com/AmiyaBot/Amiya-Bot-v5) 的迭代版本。本框架原名为 **AmiyaBot-core**,是围绕着主体项目进行开发的。 -本章接下来的文档,是提供给 AmiyaBot-demo +本章接下来的文档,是提供给 兔兔-v6 部署用户的指引,如果你的目的是开发一个完全由自己定制的机器人,请阅读[开发指南](/develop/basic/)。 -你也可以从 AmiyaBot-demo 的基础上进行定制。但之中的一部分代码服务于其本身的《明日方舟》功能系列插件,以及控制台项目 +你也可以从 兔兔-v6 的基础上进行定制。但之中的一部分代码服务于其本身的《明日方舟》功能系列插件,以及控制台项目 [Amiya-Bot-console2](https://github.com/AmiyaBot/Amiya-Bot-console2),如果你不需要这些代码,也许你难以将它们抽离。请谨慎选择此方式。 -那么,如何部署属于自己的 AmiyaBot-demo(以下简称“兔兔”),请阅读接下来的文档。 +那么,如何部署属于自己的 兔兔-v6(以下简称“兔兔”),请阅读接下来的文档。 diff --git a/docs/index.md b/docs/index.md index e0ea66ca..1bf8d30b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,13 +4,13 @@ layout: home hero: name: AmiyaBot text: Progressive Python QQ Bot Framework - tagline: 渐进式 Python QQ 频道机器人框架,可使用适配器搭建 OneBot v11/12、KOOK 等机器人。 + tagline: 渐进式 QQ 频道机器人框架,可使用内置适配器对接 QQ 群、OneBot v11/12、KOOK 等机器人平台。 actions: - theme: brand text: 开始使用 link: /develop/basic/ - theme: alt - text: 部署《明日方舟》机器人 AmiyaBot-demo-V6 + text: 部署《明日方舟》机器人 兔兔-V6 link: /guide/deploy/ features: