<p align="center">
<a href="https://nonebot.dev/"><img src="https://raw.githubusercontent.com/nonebot/adapter-qq/master/assets/logo.png" width="200" height="200" alt="nonebot-adapter-qq"></a>
</p>
<div align="center">
# NoneBot-Adapter-QQ
_✨ QQ 协议适配 ✨_
</div>
## 配置
修改 NoneBot 配置文件 `.env` 或者 `.env.*`。
### Driver
如果使用 WebSocket 连接方式,请参考 [driver](https://nonebot.dev/docs/appendices/config#driver) 配置项,添加 `HTTPClient` 和 `WebSocketClient` 支持。如:
```dotenv
DRIVER=~httpx+~websockets
DRIVER=~aiohttp
```
如果使用 WebHook 连接方式,则添加 `ASGIServer` 支持。如:
```dotenv
DRIVER=~fastapi
```
### QQ_IS_SANDBOX
是否为沙盒模式,默认为 `False`。
```dotenv
QQ_IS_SANDBOX=true
```
### QQ_BOTS
配置机器人帐号 `id` `token` `secret`,intent 需要根据机器人类型以及需要的事件进行配置。
#### Webhook / WebSocket
通过配置项 `use_websocket` 来选择是否启用 WebSocket 连接,当前默认为 `True`。如果关闭 WebSocket 连接方式,则可以通过 WebHook 方式来连接机器人,请在 QQ 开放平台中配置机器人回调地址:`https://host:port/qq/webhook`。
#### Intent
Intent 仅对 WebSocket 连接方式生效。以下为所有 Intent 配置项以及默认值:
```json
{
"guilds": true,
"guild_members": true,
"guild_messages": false,
"guild_message_reactions": true,
"direct_message": false,
"open_forum_event": false,
"audio_live_member": false,
"c2c_group_at_messages": false,
"interaction": false,
"message_audit": true,
"forum_event": false,
"audio_action": false,
"at_messages": true
}
```
#### 示例
私域频道机器人示例
```dotenv
QQ_BOTS='
[
{
"id": "xxx",
"token": "xxx",
"secret": "xxx",
"intent": {
"guild_messages": true,
"at_messages": false
},
"use_websocket": false
}
]
'
```
公域群机器人示例
```dotenv
QQ_BOTS='
[
{
"id": "xxx",
"token": "xxx",
"secret": "xxx",
"intent": {
"c2c_group_at_messages": true
},
"use_websocket": false
}
]
'
```
Raw data
{
"_id": null,
"home_page": "https://github.com/nonebot/adapter-qq",
"name": "nonebot-adapter-qq",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "bot, qq, qqbot, qqguild",
"author": "yanyongyu",
"author_email": "yyy@nonebot.dev",
"download_url": "https://files.pythonhosted.org/packages/3e/ee/1fed97f007b9e49a6f37958fa5e017282efc3cba3809af4f44d2b2f24053/nonebot_adapter_qq-1.6.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://nonebot.dev/\"><img src=\"https://raw.githubusercontent.com/nonebot/adapter-qq/master/assets/logo.png\" width=\"200\" height=\"200\" alt=\"nonebot-adapter-qq\"></a>\n</p>\n\n<div align=\"center\">\n\n# NoneBot-Adapter-QQ\n\n_\u2728 QQ \u534f\u8bae\u9002\u914d \u2728_\n\n</div>\n\n## \u914d\u7f6e\n\n\u4fee\u6539 NoneBot \u914d\u7f6e\u6587\u4ef6 `.env` \u6216\u8005 `.env.*`\u3002\n\n### Driver\n\n\u5982\u679c\u4f7f\u7528 WebSocket \u8fde\u63a5\u65b9\u5f0f\uff0c\u8bf7\u53c2\u8003 [driver](https://nonebot.dev/docs/appendices/config#driver) \u914d\u7f6e\u9879\uff0c\u6dfb\u52a0 `HTTPClient` \u548c `WebSocketClient` \u652f\u6301\u3002\u5982\uff1a\n\n```dotenv\nDRIVER=~httpx+~websockets\nDRIVER=~aiohttp\n```\n\n\u5982\u679c\u4f7f\u7528 WebHook \u8fde\u63a5\u65b9\u5f0f\uff0c\u5219\u6dfb\u52a0 `ASGIServer` \u652f\u6301\u3002\u5982\uff1a\n\n```dotenv\nDRIVER=~fastapi\n```\n\n### QQ_IS_SANDBOX\n\n\u662f\u5426\u4e3a\u6c99\u76d2\u6a21\u5f0f\uff0c\u9ed8\u8ba4\u4e3a `False`\u3002\n\n```dotenv\nQQ_IS_SANDBOX=true\n```\n\n### QQ_BOTS\n\n\u914d\u7f6e\u673a\u5668\u4eba\u5e10\u53f7 `id` `token` `secret`\uff0cintent \u9700\u8981\u6839\u636e\u673a\u5668\u4eba\u7c7b\u578b\u4ee5\u53ca\u9700\u8981\u7684\u4e8b\u4ef6\u8fdb\u884c\u914d\u7f6e\u3002\n\n#### Webhook / WebSocket\n\n\u901a\u8fc7\u914d\u7f6e\u9879 `use_websocket` \u6765\u9009\u62e9\u662f\u5426\u542f\u7528 WebSocket \u8fde\u63a5\uff0c\u5f53\u524d\u9ed8\u8ba4\u4e3a `True`\u3002\u5982\u679c\u5173\u95ed WebSocket \u8fde\u63a5\u65b9\u5f0f\uff0c\u5219\u53ef\u4ee5\u901a\u8fc7 WebHook \u65b9\u5f0f\u6765\u8fde\u63a5\u673a\u5668\u4eba\uff0c\u8bf7\u5728 QQ \u5f00\u653e\u5e73\u53f0\u4e2d\u914d\u7f6e\u673a\u5668\u4eba\u56de\u8c03\u5730\u5740\uff1a`https://host:port/qq/webhook`\u3002\n\n#### Intent\n\nIntent \u4ec5\u5bf9 WebSocket \u8fde\u63a5\u65b9\u5f0f\u751f\u6548\u3002\u4ee5\u4e0b\u4e3a\u6240\u6709 Intent \u914d\u7f6e\u9879\u4ee5\u53ca\u9ed8\u8ba4\u503c\uff1a\n\n```json\n{\n \"guilds\": true,\n \"guild_members\": true,\n \"guild_messages\": false,\n \"guild_message_reactions\": true,\n \"direct_message\": false,\n \"open_forum_event\": false,\n \"audio_live_member\": false,\n \"c2c_group_at_messages\": false,\n \"interaction\": false,\n \"message_audit\": true,\n \"forum_event\": false,\n \"audio_action\": false,\n \"at_messages\": true\n}\n```\n\n#### \u793a\u4f8b\n\n\u79c1\u57df\u9891\u9053\u673a\u5668\u4eba\u793a\u4f8b\n\n```dotenv\nQQ_BOTS='\n[\n {\n \"id\": \"xxx\",\n \"token\": \"xxx\",\n \"secret\": \"xxx\",\n \"intent\": {\n \"guild_messages\": true,\n \"at_messages\": false\n },\n \"use_websocket\": false\n }\n]\n'\n```\n\n\u516c\u57df\u7fa4\u673a\u5668\u4eba\u793a\u4f8b\n\n```dotenv\nQQ_BOTS='\n[\n {\n \"id\": \"xxx\",\n \"token\": \"xxx\",\n \"secret\": \"xxx\",\n \"intent\": {\n \"c2c_group_at_messages\": true\n },\n \"use_websocket\": false\n }\n]\n'\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "QQ adapter for nonebot2",
"version": "1.6.1",
"project_urls": {
"Documentation": "https://github.com/nonebot/adapter-qq#readme",
"Homepage": "https://github.com/nonebot/adapter-qq",
"Repository": "https://github.com/nonebot/adapter-qq"
},
"split_keywords": [
"bot",
" qq",
" qqbot",
" qqguild"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d35faa1ce79f1a51ab6eff3e0168879d99767bfd640ce39955bf949ea75a123d",
"md5": "ab12d7685c2298dc1a5bf7bc67f811f5",
"sha256": "82ea3124a8d419f868999d22cf8dfe196013e513f76254402cabb356596591d2"
},
"downloads": -1,
"filename": "nonebot_adapter_qq-1.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ab12d7685c2298dc1a5bf7bc67f811f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 35022,
"upload_time": "2025-01-10T03:59:37",
"upload_time_iso_8601": "2025-01-10T03:59:37.765233Z",
"url": "https://files.pythonhosted.org/packages/d3/5f/aa1ce79f1a51ab6eff3e0168879d99767bfd640ce39955bf949ea75a123d/nonebot_adapter_qq-1.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3eee1fed97f007b9e49a6f37958fa5e017282efc3cba3809af4f44d2b2f24053",
"md5": "88a7da157d237b09344c324f8a42b974",
"sha256": "752ed57be8dd5956590d6fb8286afbf6afc2805dd924dff132f02bcd75d19ebf"
},
"downloads": -1,
"filename": "nonebot_adapter_qq-1.6.1.tar.gz",
"has_sig": false,
"md5_digest": "88a7da157d237b09344c324f8a42b974",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 30618,
"upload_time": "2025-01-10T03:59:39",
"upload_time_iso_8601": "2025-01-10T03:59:39.737220Z",
"url": "https://files.pythonhosted.org/packages/3e/ee/1fed97f007b9e49a6f37958fa5e017282efc3cba3809af4f44d2b2f24053/nonebot_adapter_qq-1.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-10 03:59:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nonebot",
"github_project": "adapter-qq",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nonebot-adapter-qq"
}