nonebot-plugin-multi-chatgpt


Namenonebot-plugin-multi-chatgpt JSON
Version 3.0.0 PyPI version JSON
download
home_page
Summary
upload_time2022-12-15 07:25:17
maintainer
docs_urlNone
authorchrisyy
requires_python>=3.8,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 多账户ChatGPT

## 安装

~~第一种方式~~(暂时不行,等待pr通过)

```
nb plugin install nonebot_plugin_multi_chatgpt
```

---

第二种方式,使用一下命令安装

```
pip3 install nonebot_plugin_multi_chatgpt --upgrade
```

随后在`bot.py`中加上如下代码,加载插件

```
nonebot.load_plugin('nonebot_plugin_multi_chatgpt')
```

## 配置

### token方式

在`.env.dev`中配置自己的`chatgpt_session_token_list`即可

多个token,请注意不能换行只能写成一排 例如

```
chatgpt_session_token_list = ["xxx", "yyy", "zzz"]
```

如果只有一个session也需要用数组的形式

```
chatgpt_session_token_list = ["xxxx"]
```

获取token得方法,打开Application选项卡 > Cookie,复制值`__Secure-next-auth.session-token`并将其粘贴到在`.env.dev`中`session_token`即可。不需要管Authorization的值。
![](https://chrisyy-images.oss-cn-chengdu.aliyuncs.com/img/image-20221205094326498.png)

### 密码方式

密码登陆需要通过代理来配置,一般配置格式如下。

```
chatgpt_email_list = ["osyyjozylg@iubridge.com", "lgfo353p@linshiyouxiang.net"]
chatgpt_passwd_list = ["yy123123", "yy123123"]
chatgpt_proxy = "http://127.0.0.1:6152"
```

### 其他

指令前缀,默认值为`chat`

```
chatgpt_command_prefix = "。"
```

## 图片相关

### 配置

采用命令进行配置,在此进行简单说明

- 在 bot 连接时,将会在`机器人项目/`自动创建一个名为 `config_multi_chatgpt` 的文件夹(如果不存在),用于存放输出图片相关的配置文件
- 配置文件名为 `img_out_config.yml`, 初始化时,将写入 `{"global":False}`,代表全局不开启图片输出
- 在使用以下命令时,会分别在配置中加入`{"groups":[123456,45656,xxx]}` `{"users": [17960000,666,xxx]}` 其分别代表开启图片输出的**群**和**用户**

### 指令


| 操作       | 命令                 | 权限             | 备注                                               | 命令别名                   |
|----------|--------------------| ---------------- |--------------------------------------------------|------------------------|
| 全局图片输出   | 全局图片开<br />全局图片关   | SUPERUSER        | 开启后,在任何时候都返回图片                                   | gpt全局图片开<br />gpt全局图片关 |
| 群图片输出    | 群图片开<br />群图片关     | 群主、管理员、SU | 需要在群内发送,开启后,在该群任何时候都返回图片                         | gpt群图片开<br />gpt群图片关   |
| 用户输出     | 对我输出开<br />对我输出关   | /                | 开启后,对于该用户在任何时候都返回图片                              | 对我图片输出开<br />对我图片输出关   |
| 某条消息输出   | -p 你好<br />你好 -p   | /                | 在某次请求时,在你要说的话前或者后加`-p` <br /> 则对此条消息,会返回图片       |                        |
| 查看配置     | 查看输出               | SUPERUSER        | 返回一张图片,包含了图片输出的开关配置                              | 查看图片开关<br />查看图片输出     |
| su删除某开启的群 | 图片输出删除 g 1111 2222 | SUPERUSER        | 关闭某几个开启图片输出的群,`g`作为参数,<br />不带参数默认为`g`,后跟群号用空格分隔 | 输出删除 g 1111 2222       |
| su删除某开启的用户 | 图片输出删除 u 1111 2222 | SUPERUSER        | 对某几个人关闭输出,`u`作为参数,<br />不带参数默认为`g`,后跟QQ号用空格分隔    | 输出删除 u 1111 2222       |


### 流程

1. 机器人启动时,对配置文件进行检测,不存在则创建
2. 消息预处理:
   - 如果消息中包含`-p`,则对此条消息进行图片输出(无论全局、群、用户是否开启),将`-p`去除后,再进行chatGPT请求
   - 如果消息中不包含`-p`则不处理
3. 请求chatGPT,得到结果后,对结果进行处理:
   - 如果消息中代码块符号` ``` `不完整,则补全(chatGPT有时返回不完整)
   - 根据配置发送图片或者文本
4. `-p` 或 全局开启,优先级最高,二者之一存在,则对此条消息进行图片输出
5. 若非上述二者:
   - 群聊
     - 如果群开启图片输出,则返回图片
     - 如果全局关闭但用户开启,则返回图片
   - 私聊
     - 如果用户开启图片输出,则返回图片

# Todo

- [X]  返回值渲染为图片
- [ ]  完善密码登陆

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "nonebot-plugin-multi-chatgpt",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "chrisyy",
    "author_email": "1017975501@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/b0/d0/398e18b6db422250213a0cf2a36841792a932a6db8ce2398a8aab51e34df/nonebot_plugin_multi_chatgpt-3.0.0.tar.gz",
    "platform": null,
    "description": "# \u591a\u8d26\u6237ChatGPT\n\n## \u5b89\u88c5\n\n~~\u7b2c\u4e00\u79cd\u65b9\u5f0f~~\uff08\u6682\u65f6\u4e0d\u884c\uff0c\u7b49\u5f85pr\u901a\u8fc7\uff09\n\n```\nnb plugin install nonebot_plugin_multi_chatgpt\n```\n\n---\n\n\u7b2c\u4e8c\u79cd\u65b9\u5f0f\uff0c\u4f7f\u7528\u4e00\u4e0b\u547d\u4ee4\u5b89\u88c5\n\n```\npip3 install nonebot_plugin_multi_chatgpt --upgrade\n```\n\n\u968f\u540e\u5728`bot.py`\u4e2d\u52a0\u4e0a\u5982\u4e0b\u4ee3\u7801\uff0c\u52a0\u8f7d\u63d2\u4ef6\n\n```\nnonebot.load_plugin('nonebot_plugin_multi_chatgpt')\n```\n\n## \u914d\u7f6e\n\n### token\u65b9\u5f0f\n\n\u5728`.env.dev`\u4e2d\u914d\u7f6e\u81ea\u5df1\u7684`chatgpt_session_token_list`\u5373\u53ef\n\n\u591a\u4e2atoken\uff0c\u8bf7\u6ce8\u610f\u4e0d\u80fd\u6362\u884c\u53ea\u80fd\u5199\u6210\u4e00\u6392 \u4f8b\u5982\n\n```\nchatgpt_session_token_list = [\"xxx\", \"yyy\", \"zzz\"]\n```\n\n\u5982\u679c\u53ea\u6709\u4e00\u4e2asession\u4e5f\u9700\u8981\u7528\u6570\u7ec4\u7684\u5f62\u5f0f\n\n```\nchatgpt_session_token_list = [\"xxxx\"]\n```\n\n\u83b7\u53d6token\u5f97\u65b9\u6cd5\uff0c\u6253\u5f00Application\u9009\u9879\u5361 > Cookie\uff0c\u590d\u5236\u503c`__Secure-next-auth.session-token`\u5e76\u5c06\u5176\u7c98\u8d34\u5230\u5728`.env.dev`\u4e2d`session_token`\u5373\u53ef\u3002\u4e0d\u9700\u8981\u7ba1Authorization\u7684\u503c\u3002\n![](https://chrisyy-images.oss-cn-chengdu.aliyuncs.com/img/image-20221205094326498.png)\n\n### \u5bc6\u7801\u65b9\u5f0f\n\n\u5bc6\u7801\u767b\u9646\u9700\u8981\u901a\u8fc7\u4ee3\u7406\u6765\u914d\u7f6e\uff0c\u4e00\u822c\u914d\u7f6e\u683c\u5f0f\u5982\u4e0b\u3002\n\n```\nchatgpt_email_list = [\"osyyjozylg@iubridge.com\", \"lgfo353p@linshiyouxiang.net\"]\nchatgpt_passwd_list = [\"yy123123\", \"yy123123\"]\nchatgpt_proxy = \"http://127.0.0.1:6152\"\n```\n\n### \u5176\u4ed6\n\n\u6307\u4ee4\u524d\u7f00\uff0c\u9ed8\u8ba4\u503c\u4e3a`chat`\n\n```\nchatgpt_command_prefix = \"\u3002\"\n```\n\n## \u56fe\u7247\u76f8\u5173\n\n### \u914d\u7f6e\n\n\u91c7\u7528\u547d\u4ee4\u8fdb\u884c\u914d\u7f6e\uff0c\u5728\u6b64\u8fdb\u884c\u7b80\u5355\u8bf4\u660e\n\n- \u5728 bot \u8fde\u63a5\u65f6\uff0c\u5c06\u4f1a\u5728`\u673a\u5668\u4eba\u9879\u76ee/`\u81ea\u52a8\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a `config_multi_chatgpt` \u7684\u6587\u4ef6\u5939\uff08\u5982\u679c\u4e0d\u5b58\u5728\uff09\uff0c\u7528\u4e8e\u5b58\u653e\u8f93\u51fa\u56fe\u7247\u76f8\u5173\u7684\u914d\u7f6e\u6587\u4ef6\n- \u914d\u7f6e\u6587\u4ef6\u540d\u4e3a `img_out_config.yml`, \u521d\u59cb\u5316\u65f6\uff0c\u5c06\u5199\u5165 `{\"global\":False}`\uff0c\u4ee3\u8868\u5168\u5c40\u4e0d\u5f00\u542f\u56fe\u7247\u8f93\u51fa\n- \u5728\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u65f6\uff0c\u4f1a\u5206\u522b\u5728\u914d\u7f6e\u4e2d\u52a0\u5165`{\"groups\":[123456,45656,xxx]}` `{\"users\": [17960000,666,xxx]}` \u5176\u5206\u522b\u4ee3\u8868\u5f00\u542f\u56fe\u7247\u8f93\u51fa\u7684**\u7fa4**\u548c**\u7528\u6237**\n\n### \u6307\u4ee4\n\n\n| \u64cd\u4f5c       | \u547d\u4ee4                 | \u6743\u9650             | \u5907\u6ce8                                               | \u547d\u4ee4\u522b\u540d                   |\n|----------|--------------------| ---------------- |--------------------------------------------------|------------------------|\n| \u5168\u5c40\u56fe\u7247\u8f93\u51fa   | \u5168\u5c40\u56fe\u7247\u5f00<br />\u5168\u5c40\u56fe\u7247\u5173   | SUPERUSER        | \u5f00\u542f\u540e\uff0c\u5728\u4efb\u4f55\u65f6\u5019\u90fd\u8fd4\u56de\u56fe\u7247                                   | gpt\u5168\u5c40\u56fe\u7247\u5f00<br />gpt\u5168\u5c40\u56fe\u7247\u5173 |\n| \u7fa4\u56fe\u7247\u8f93\u51fa    | \u7fa4\u56fe\u7247\u5f00<br />\u7fa4\u56fe\u7247\u5173     | \u7fa4\u4e3b\u3001\u7ba1\u7406\u5458\u3001SU | \u9700\u8981\u5728\u7fa4\u5185\u53d1\u9001\uff0c\u5f00\u542f\u540e\uff0c\u5728\u8be5\u7fa4\u4efb\u4f55\u65f6\u5019\u90fd\u8fd4\u56de\u56fe\u7247                         | gpt\u7fa4\u56fe\u7247\u5f00<br />gpt\u7fa4\u56fe\u7247\u5173   |\n| \u7528\u6237\u8f93\u51fa     | \u5bf9\u6211\u8f93\u51fa\u5f00<br />\u5bf9\u6211\u8f93\u51fa\u5173   | /                | \u5f00\u542f\u540e\uff0c\u5bf9\u4e8e\u8be5\u7528\u6237\u5728\u4efb\u4f55\u65f6\u5019\u90fd\u8fd4\u56de\u56fe\u7247                              | \u5bf9\u6211\u56fe\u7247\u8f93\u51fa\u5f00<br />\u5bf9\u6211\u56fe\u7247\u8f93\u51fa\u5173   |\n| \u67d0\u6761\u6d88\u606f\u8f93\u51fa   | -p \u4f60\u597d<br />\u4f60\u597d -p   | /                | \u5728\u67d0\u6b21\u8bf7\u6c42\u65f6\uff0c\u5728\u4f60\u8981\u8bf4\u7684\u8bdd\u524d\u6216\u8005\u540e\u52a0`-p` <br /> \u5219\u5bf9\u6b64\u6761\u6d88\u606f\uff0c\u4f1a\u8fd4\u56de\u56fe\u7247       |                        |\n| \u67e5\u770b\u914d\u7f6e     | \u67e5\u770b\u8f93\u51fa               | SUPERUSER        | \u8fd4\u56de\u4e00\u5f20\u56fe\u7247\uff0c\u5305\u542b\u4e86\u56fe\u7247\u8f93\u51fa\u7684\u5f00\u5173\u914d\u7f6e                              | \u67e5\u770b\u56fe\u7247\u5f00\u5173<br />\u67e5\u770b\u56fe\u7247\u8f93\u51fa     |\n| su\u5220\u9664\u67d0\u5f00\u542f\u7684\u7fa4 | \u56fe\u7247\u8f93\u51fa\u5220\u9664 g 1111 2222 | SUPERUSER        | \u5173\u95ed\u67d0\u51e0\u4e2a\u5f00\u542f\u56fe\u7247\u8f93\u51fa\u7684\u7fa4\uff0c`g`\u4f5c\u4e3a\u53c2\u6570,<br />\u4e0d\u5e26\u53c2\u6570\u9ed8\u8ba4\u4e3a`g`\uff0c\u540e\u8ddf\u7fa4\u53f7\u7528\u7a7a\u683c\u5206\u9694 | \u8f93\u51fa\u5220\u9664 g 1111 2222       |\n| su\u5220\u9664\u67d0\u5f00\u542f\u7684\u7528\u6237 | \u56fe\u7247\u8f93\u51fa\u5220\u9664 u 1111 2222 | SUPERUSER        | \u5bf9\u67d0\u51e0\u4e2a\u4eba\u5173\u95ed\u8f93\u51fa\uff0c`u`\u4f5c\u4e3a\u53c2\u6570,<br />\u4e0d\u5e26\u53c2\u6570\u9ed8\u8ba4\u4e3a`g`\uff0c\u540e\u8ddfQQ\u53f7\u7528\u7a7a\u683c\u5206\u9694    | \u8f93\u51fa\u5220\u9664 u 1111 2222       |\n\n\n### \u6d41\u7a0b\n\n1. \u673a\u5668\u4eba\u542f\u52a8\u65f6\uff0c\u5bf9\u914d\u7f6e\u6587\u4ef6\u8fdb\u884c\u68c0\u6d4b\uff0c\u4e0d\u5b58\u5728\u5219\u521b\u5efa\n2. \u6d88\u606f\u9884\u5904\u7406:\n   - \u5982\u679c\u6d88\u606f\u4e2d\u5305\u542b`-p`\uff0c\u5219\u5bf9\u6b64\u6761\u6d88\u606f\u8fdb\u884c\u56fe\u7247\u8f93\u51fa\uff08\u65e0\u8bba\u5168\u5c40\u3001\u7fa4\u3001\u7528\u6237\u662f\u5426\u5f00\u542f\uff09\uff0c\u5c06`-p`\u53bb\u9664\u540e\uff0c\u518d\u8fdb\u884cchatGPT\u8bf7\u6c42\n   - \u5982\u679c\u6d88\u606f\u4e2d\u4e0d\u5305\u542b`-p`\u5219\u4e0d\u5904\u7406\n3. \u8bf7\u6c42chatGPT\uff0c\u5f97\u5230\u7ed3\u679c\u540e\uff0c\u5bf9\u7ed3\u679c\u8fdb\u884c\u5904\u7406\uff1a\n   - \u5982\u679c\u6d88\u606f\u4e2d\u4ee3\u7801\u5757\u7b26\u53f7` ``` `\u4e0d\u5b8c\u6574\uff0c\u5219\u8865\u5168\uff08chatGPT\u6709\u65f6\u8fd4\u56de\u4e0d\u5b8c\u6574\uff09\n   - \u6839\u636e\u914d\u7f6e\u53d1\u9001\u56fe\u7247\u6216\u8005\u6587\u672c\n4. `-p` \u6216 \u5168\u5c40\u5f00\u542f\uff0c\u4f18\u5148\u7ea7\u6700\u9ad8\uff0c\u4e8c\u8005\u4e4b\u4e00\u5b58\u5728\uff0c\u5219\u5bf9\u6b64\u6761\u6d88\u606f\u8fdb\u884c\u56fe\u7247\u8f93\u51fa\n5. \u82e5\u975e\u4e0a\u8ff0\u4e8c\u8005\uff1a\n   - \u7fa4\u804a\n     - \u5982\u679c\u7fa4\u5f00\u542f\u56fe\u7247\u8f93\u51fa\uff0c\u5219\u8fd4\u56de\u56fe\u7247\n     - \u5982\u679c\u5168\u5c40\u5173\u95ed\u4f46\u7528\u6237\u5f00\u542f\uff0c\u5219\u8fd4\u56de\u56fe\u7247\n   - \u79c1\u804a\n     - \u5982\u679c\u7528\u6237\u5f00\u542f\u56fe\u7247\u8f93\u51fa\uff0c\u5219\u8fd4\u56de\u56fe\u7247\n\n# Todo\n\n- [X]  \u8fd4\u56de\u503c\u6e32\u67d3\u4e3a\u56fe\u7247\n- [ ]  \u5b8c\u5584\u5bc6\u7801\u767b\u9646\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "",
    "version": "3.0.0",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "c891baec0615e13c2f8c3b70f0146a42",
                "sha256": "fdf35d6f72c2bd37995c397241e84dbc14c5e53f3cde1ae7bb4be92e97787fb6"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_multi_chatgpt-3.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c891baec0615e13c2f8c3b70f0146a42",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 8946,
            "upload_time": "2022-12-15T07:25:15",
            "upload_time_iso_8601": "2022-12-15T07:25:15.701103Z",
            "url": "https://files.pythonhosted.org/packages/b4/b3/6f866f22292983a70c0ebcda416794f2fe8c9bbd2bd7cd733f0a5a885019/nonebot_plugin_multi_chatgpt-3.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "aa2c2d8b84bd56ef962a135d9144a99d",
                "sha256": "abd739247220fbb9396c54e56c15b7672b1ae651a237bca3a4ed2f718dd0db92"
            },
            "downloads": -1,
            "filename": "nonebot_plugin_multi_chatgpt-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "aa2c2d8b84bd56ef962a135d9144a99d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 7860,
            "upload_time": "2022-12-15T07:25:17",
            "upload_time_iso_8601": "2022-12-15T07:25:17.611482Z",
            "url": "https://files.pythonhosted.org/packages/b0/d0/398e18b6db422250213a0cf2a36841792a932a6db8ce2398a8aab51e34df/nonebot_plugin_multi_chatgpt-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-15 07:25:17",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "nonebot-plugin-multi-chatgpt"
}
        
Elapsed time: 0.02973s