Code Monkey home page Code Monkey logo

rockchinq / qchatgpt Goto Github PK

View Code? Open in Web Editor NEW
3.8K 21.0 301.0 29.04 MB

😎高稳定性、🧩支持插件、🌏实时联网的 ChatGPT QQ / QQ频道 / One Bot 机器人🤖 | 支持 ChatGPT、Claude、Gemini Pro、Moonshot(月之暗面 )、gpt4free、One API 的 QQ / QQ频道 / OneBot 机器人平台

Home Page: https://qchatgpt.rockchin.top

License: GNU Affero General Public License v3.0

Python 99.94% Dockerfile 0.06%
chatgpt qq openai plugins

qchatgpt's Introduction

qchatgpt's People

Contributors

2675hujilo avatar chordfish-k avatar crossgg avatar dependabot[bot] avatar flashszn avatar github-actions[bot] avatar haibersut avatar hissincn avatar linstcl avatar maimierjiafude avatar mikumifa avatar oliverkirk-sudo avatar rockchinq avatar systemtang avatar yichuxue avatar zuo-shi-yun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qchatgpt's Issues

[BUG]登录mirai的时候使用ticket登录仍然存在安全问题。

运行环境

  • 部署方式:
    手动部署/自动部署/Docker部署
  • 系统环境:
    e.g. Centos x64
  • Python环境(仅手动部署填写):
    e.g. Python 3.10.9

描述漏洞
12月14日时,使用mirai登录无问题。

16日登录mirai发现需要重新验证。
使用ticket验证后,mirai仍然无法登录。

完整报错信息
image

[BUG]运行卡住了,不会动了

运行环境

  • 部署方式:
    手动部署/自动部署/Docker部署
  • 系统环境:
    e.g. Centos x64
  • Python环境(仅手动部署填写):
    e.g. Python 3.10.9

描述漏洞
什么时候发生的,mirai还是主程序,越详细越好

完整报错信息
image

运行main.py报错

Python版本:3.11.1
Mirai:2.6.2,默认配置部署,账号已经成功登陆,能正常监听到消息
操作方式:按照文档操作,运行到最后一步报错

报错内容:

D:\Project\QQRobot\QChatGPT\QChatGPT>python main.py
[2022-12-10 12:19:18.026] main.py (69) - [INFO] : 程序启动完成
2022-12-10 12:19:18 - WARNING  未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 uvicorn或 hypercorn。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-10 12:19:18.026] bot.py (260) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
2022-12-10 12:19:28 - ERROR
[2022-12-10 12:19:28.028] base.py (43) - [ERROR] :
Exception in thread Thread-2 (run):
Traceback (most recent call last):
  File "D:\Code\Python\Lib\site-packages\websockets\legacy\client.py", line 666, in __await_impl__
    await protocol.handshake(
  File "D:\Code\Python\Lib\site-packages\websockets\legacy\client.py", line 332, in handshake
    raise InvalidStatusCode(status_code, response_headers)
websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 404

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Code\Python\Lib\asyncio\tasks.py", line 490, in wait_for
    return fut.result()
           ^^^^^^^^^^^^
  File "D:\Code\Python\Lib\site-packages\websockets\legacy\client.py", line 680, in __await_impl__
    await protocol.wait_closed()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\Code\Python\Lib\threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "D:\Code\Python\Lib\threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 197, in run
    MiraiRunner(self).run(host, port, asgi_server, **kwargs)
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 274, in run
    asyncio.run(self._run())
  File "D:\Code\Python\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "D:\Code\Python\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Code\Python\Lib\asyncio\base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 238, in _run
    await self.startup()
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 226, in startup
    await asyncio.gather(*coros)
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 135, in startup
    await self._adapter.login(self.qq)
  File "D:\Code\Python\Lib\site-packages\mirai\adapters\base.py", line 35, in wrapped
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Code\Python\Lib\site-packages\mirai\adapters\websocket.py", line 187, in login
    self.connection = await connect(self.host_name, extra_headers=headers)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Code\Python\Lib\site-packages\websockets\legacy\client.py", line 659, in __await_impl_timeout__
    return await asyncio.wait_for(self.__await_impl__(), self.open_timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Code\Python\Lib\asyncio\tasks.py", line 492, in wait_for
    raise exceptions.TimeoutError() from exc`

根据提示安装了uvicorn,然后报错:

`D:\Project\QQRobot\QChatGPT\QChatGPT>python main.py
[2022-12-10 12:19:58.582] main.py (69) - [INFO] : 程序启动完成
Exception in thread Thread-2 (run):
Traceback (most recent call last):
  File "D:\Code\Python\Lib\threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "D:\Code\Python\Lib\threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 197, in run
    MiraiRunner(self).run(host, port, asgi_server, **kwargs)
  File "D:\Code\Python\Lib\site-packages\mirai\bot.py", line 255, in run
    if not asgi_serve(
           ^^^^^^^^^^^
  File "D:\Code\Python\Lib\site-packages\mirai\asgi.py", line 206, in asgi_serve
    run(app, host=host, port=port, debug=True, **kwargs)
TypeError: run() got an unexpected keyword argument 'debug'`

运行main.py出现报错,TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary

`[2022-12-10 00:59:25.745] main.py (69) - [INFO] : 程序启动完成
2022-12-10 00:59:25 - WARNING  未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-10 00:59:25.746] bot.py (260) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
2022-12-10 00:59:25 - ERROR    As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary
[2022-12-10 00:59:25.751] base.py (43) - [ERROR] : As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary
Exception in thread Thread-2 (run):
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.10/dist-packages/mirai/bot.py", line 197, in run
    MiraiRunner(self).run(host, port, asgi_server, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/mirai/bot.py", line 274, in run
    asyncio.run(self._run())
  File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.10/dist-packages/mirai/bot.py", line 238, in _run
    await self.startup()
  File "/usr/local/lib/python3.10/dist-packages/mirai/bot.py", line 226, in startup
    await asyncio.gather(*coros)
  File "/usr/local/lib/python3.10/dist-packages/mirai/bot.py", line 135, in startup
    await self._adapter.login(self.qq)
  File "/usr/local/lib/python3.10/dist-packages/mirai/adapters/base.py", line 35, in wrapped
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/mirai/adapters/websocket.py", line 187, in login
    self.connection = await connect(self.host_name, extra_headers=headers)
  File "/usr/local/lib/python3.10/dist-packages/websockets/legacy/client.py", line 622, in __await_impl__
    transport, protocol = await self._create_connection()
  File "/usr/lib/python3.10/asyncio/base_events.py", line 1089, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "/usr/lib/python3.10/asyncio/base_events.py", line 1107, in _create_connection_transport
    protocol = protocol_factory()
  File "/usr/local/lib/python3.10/dist-packages/websockets/legacy/client.py", line 160, in __init__
    super().__init__(**kwargs)
  File "/usr/local/lib/python3.10/dist-packages/websockets/legacy/protocol.py", line 154, in __init__
    self._drain_lock = asyncio.Lock(
  File "/usr/lib/python3.10/asyncio/locks.py", line 78, in __init__
    super().__init__(loop=loop)
  File "/usr/lib/python3.10/asyncio/mixins.py", line 17, in __init__
    raise TypeError(
TypeError: As of 3.10, the *loop* parameter was removed from Lock() since it is no longer necessary`

可能是python版本问题,一会升级3.9.x试试

完善项目文档

  1. 会话超时、提交消息数量等特性的说明
  2. 会话的保存和加载等概念

linux如何安装?

您给的安装流程好像只是windows的,linux都没有run-bot.bat这个文件。请问可以出一个linux版本的安装流程吗?

运行 python3 main.py 时报错:cannot import name dataclass_transform

系统版本:Linux ip-172-31-0-40.ap-east-1.compute.internal 5.10.118-111.515.amzn2.x86_64 #1 SMP Wed May 25 22:12:19 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
python版本: 3.7.15-1.amzn2.0.2
截图:
image

报错提示:

Traceback (most recent call last):
  File "main.py", line 97, in <module>
    main()
  File "main.py", line 52, in main
    import pkg.qqbot.manager
  File "/root/qchatgpt/QChatGPT/pkg/qqbot/manager.py", line 5, in <module>
    from mirai import At, GroupMessage, MessageEvent, Mirai, Plain, StrangerMessage, WebSocketAdapter, FriendMessage, Image
  File "/usr/local/lib/python3.7/site-packages/mirai/__init__.py", line 19, in <module>
    from mirai.adapters import Adapter
  File "/usr/local/lib/python3.7/site-packages/mirai/adapters/__init__.py", line 9, in <module>
    from .base import Adapter
  File "/usr/local/lib/python3.7/site-packages/mirai/adapters/base.py", line 12, in <module>
    from mirai import exceptions
  File "/usr/local/lib/python3.7/site-packages/mirai/exceptions.py", line 9, in <module>
    from pydantic import ValidationError
  File "pydantic/__init__.py", line 2, in init pydantic.__init__
  File "pydantic/dataclasses.py", line 52, in init pydantic.dataclasses
    #   |
ImportError: cannot import name dataclass_transform

[BUG]运行run-bot.sh报错No module named '_ssl'

运行环境

  • 部署方式:
    自动部署
  • 系统环境:
    e,g, Centos x64

描述漏洞
运行run-bot.sh报错

完整报错信息

  File "/opt/QChatGPT/main.py", line 102, in <module>
    main()
  File "/opt/QChatGPT/main.py", line 55, in main
    import pkg.qqbot.manager
  File "/opt/QChatGPT/pkg/qqbot/manager.py", line 7, in <module>
    from mirai import At, GroupMessage, MessageEvent, Mirai, Plain, StrangerMessage, WebSocketAdapter, FriendMessage, Image
  File "/opt/python/lib/python3.10/site-packages/mirai/__init__.py", line 22, in <module>
    from mirai.bot import (
  File "/opt/python/lib/python3.10/site-packages/mirai/bot.py", line 14, in <module>
    from mirai.asgi import ASGI, asgi_serve
  File "/opt/python/lib/python3.10/site-packages/mirai/asgi.py", line 20, in <module>
    from starlette.applications import Starlette
  File "/opt/python/lib/python3.10/site-packages/starlette/applications.py", line 4, in <module>
    from starlette.datastructures import State, URLPath
  File "/opt/python/lib/python3.10/site-packages/starlette/datastructures.py", line 7, in <module>
    from starlette.concurrency import run_in_threadpool
  File "/opt/python/lib/python3.10/site-packages/starlette/concurrency.py", line 6, in <module>
    import anyio
  File "/opt/python/lib/python3.10/site-packages/anyio/__init__.py", line 104, in <module>
    from ._core._sockets import (
  File "/opt/python/lib/python3.10/site-packages/anyio/_core/_sockets.py", line 2, in <module>
    import ssl
  File "/opt/python/lib/python3.10/ssl.py", line 99, in <module>
    import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'

[BUG] mirai的Pixiv插件兼容问题

运行环境

  • 部署方式:
    自动部署
  • 系统环境:
    Ubuntu 22.04 x86_64

描述漏洞
运行机器人后,mirai的插件Setting.yml内的编辑内容会被重置为默认,插件为https://github.com/Nekoer/mirai-plugins-pixiv。
https://mirai.mamoe.net/topic/461/pixiv%E6%8F%92%E4%BB%B6-%E6%9F%A5%E7%9C%8B%E6%8E%92%E8%A1%8C%E6%A6%9C-%E4%BB%A5%E5%9B%BE%E6%90%9C%E5%9B%BE-%E4%BB%A5%E5%9B%BE%E6%90%9C%E7%95%AA-%E6%9F%A5%E7%9C%8B%E5%8E%9F%E5%9B%BE-%E6%9F%A5%E7%9C%8B%E4%BD%9C%E8%80%85%E4%BD%9C%E5%93%81-%E6%90%9C%E6%A0%87%E7%AD%BE

完整报错
启动机器人后(./run-bot.sh),mirari文件夹下/config/com.hcyacg.pixiv/中,编辑过的的Setting.yml内容会被重置为默认。
启动mirai(./run-mirai.sh),Setting.yml内容不会变。

运行“run-mirai.bat”时出现问题

运行“run-mirai.bat”后,自动更新下载(且多次打开后均重复这一操作),然后大片报红错误,啥都看不懂,并且最后会闪退。请指导一下,报错如下图,谢谢!
02
00
01

[BUG]MahKtorAdapter[ws]: java.net.BindException: Address in use java.net.BindException: Address in use

运行环境

  • 部署方式:
    自动部署
  • 系统环境:
    e,g, docker
  • Python环境(仅手动部署填写):
    e.g. Python 3.9

描述漏洞
连续开2个mirai时候,ws重复,要保证mirai/config/net.mamoe.mirai-api-http/setting.yaml里面不会重复

完整报错信息

2022-12-16 03:31:01 E/MahKtorAdapter[ws]: java.net.BindException: Address in use
java.net.BindException: Address in use
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:552)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:336)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:88)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.ConnectUtilsJvmKt.bind(ConnectUtilsJvm.kt:32)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:46)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:30)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind$default(TcpSocketBuilder.kt:26)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.server.cio.backend.HttpServerKt$httpServer$acceptJob$1.invokeSuspend(HttpServer.kt:46)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

2022-12-16 03:31:01 E/net.mamoe.mirai-api-http: kotlinx.coroutines.JobCancellationException: LazyStandaloneCoroutine is cancelling; job=LazyStandaloneCoroutine{Cancelling}@3554bdc0
kotlinx.coroutines.JobCancellationException: LazyStandaloneCoroutine is cancelling; job=LazyStandaloneCoroutine{Cancelling}@3554bdc0
Caused by: java.net.BindException: Address in use
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:552)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:336)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:88)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.ConnectUtilsJvmKt.bind(ConnectUtilsJvm.kt:32)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:46)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:30)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind$default(TcpSocketBuilder.kt:26)
        at mirai-api-http-2.6.2.mirai2.jar[shared]//io.ktor.server.cio.backend.HttpServerKt$httpServer$acceptJob$1.invokeSuspend(HttpServer.kt:46)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

[BUG]出现群聊未艾特也会回复的bug

群聊bot没有艾特也会进行回复,个人怀疑是私聊和群聊同时使用的问题,贴图如下:
1
2
3
第一张图片是先与人进行了对话,在第二张图片中群聊中使用了bot,在晚上群聊使用bot的时候出现没有艾特也回复的现象。
4
第四张图片是今天上午我在私聊使用bot时,bot在群聊未艾特的情况下回复了群友的消息。

[BUG]一键部署版本里面config.py配置AI人格不生效

运行环境

  • 部署方式:
    自动部署
  • 系统环境:
    win2012
  • Python环境(仅手动部署填写):
    e.g. Python 3.10.9

描述漏洞
一键部署版本里面config.py配置AI人格不生效

完整报错信息
一键部署版本里面config.py配置AI人格不生效

运行python3 main.py 之后 机器人收到消息报错 asyncio.exceptions.TimeoutError

运行环境

  • 部署方式:
    手动部署
  • 系统环境:
    Centos x64 7.6
  • Python环境(仅手动部署填写):
    Python 3.9.3

描述漏洞
什么时候发生的,mirai还是主程序,越详细越好
当机器人接收到第一条消息
完整报错信息

Database initialized.
2022-12-14 16:43:27 - WARNING  未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-14 16:43:27.200] main.py (74) - [INFO] : 程序启动完成
[2022-12-14 16:43:27.200] bot.py (262) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
2022-12-14 16:43:37 - ERROR    
[2022-12-14 16:43:37.212] base.py (43) - [ERROR] : 
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.9/site-packages/websockets/legacy/client.py", line 663, in __await_impl__
    _transport, _protocol = await self._create_connection()
  File "/usr/local/python3/lib/python3.9/asyncio/base_events.py", line 1041, in create_connection
    sock = await self._connect_sock(
  File "/usr/local/python3/lib/python3.9/asyncio/base_events.py", line 955, in _connect_sock
    await self.sock_connect(sock, address)
  File "/usr/local/python3/lib/python3.9/asyncio/selector_events.py", line 502, in sock_connect
    return await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
    fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/local/python3/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/bot.py", line 199, in run
    MiraiRunner(self).run(host, port, asgi_server, **kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/bot.py", line 276, in run
    asyncio.run(self._run())
  File "/usr/local/python3/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/python3/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/bot.py", line 240, in _run
    await self.startup()
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/bot.py", line 228, in startup
    await asyncio.gather(*coros)
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/bot.py", line 137, in startup
    await self._adapter.login(self.qq)
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/adapters/base.py", line 35, in wrapped
    return await func(self, *args, **kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/mirai/adapters/websocket.py", line 187, in login
    self.connection = await connect(self.host_name, extra_headers=headers)
  File "/usr/local/python3/lib/python3.9/site-packages/websockets/legacy/client.py", line 659, in __await_impl_timeout__
    return await asyncio.wait_for(self.__await_impl__(), self.open_timeout)
  File "/usr/local/python3/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

手动部署遇到的一些问题

  • python环境3.9+
  • config.py 里面的localhost 改成用127.0.0.1,如果出现 含有::1的报错
  • _ssl模块 导入异常的话,安装

修改README中关于部署的部分,增加doc目录存放说明文档

晚上花了6h部署(可能是太菜了QAQ)

最后还是部署成功了,但一路下来踩坑翻看文档和issues观感并不是很好。
所以我打算修改部分README,主要修改关于部署这部分的。
我想结合之前的文档,issue和这次部署成功的经验单独写一份md文件。
对原README的修改部分会尽可能的小,新加的内容会写新文件里,README里再去链接。
我想详尽的部署教程,对于不熟悉的新手还是很有帮助的。

运行“run-bot.bat”时出现报错,server rejected WebSocket connection: HTTP 404

报错内容如下

2022-12-14 13:16:46 - WARNING  未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-14 13:16:46.171] bot.py (260) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
2022-12-14 13:16:56 - ERROR
[2022-12-14 13:16:56.185] base.py (43) - [ERROR] :
Exception in thread Thread-1 (run):
Traceback (most recent call last):
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\websockets\legacy\client.py", line 666, in __await_impl__
    await protocol.handshake(
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\websockets\legacy\client.py", line 332, in handshake
    raise InvalidStatusCode(status_code, response_headers)
websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 404

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\websockets\legacy\client.py", line 680, in __await_impl__
    await protocol.wait_closed()
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "asyncio\tasks.py", line 456, in wait_for
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "threading.py", line 1016, in _bootstrap_inner
  File "threading.py", line 953, in run
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\bot.py", line 197, in run
    MiraiRunner(self).run(host, port, asgi_server, **kwargs)
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\bot.py", line 274, in run
    asyncio.run(self._run())
  File "asyncio\runners.py", line 44, in run
  File "asyncio\base_events.py", line 649, in run_until_complete
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\bot.py", line 238, in _run
    await self.startup()
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\bot.py", line 226, in startup
    await asyncio.gather(*coros)
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\bot.py", line 135, in startup
    await self._adapter.login(self.qq)
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\adapters\base.py", line 35, in wrapped
    return await func(self, *args, **kwargs)
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\mirai\adapters\websocket.py", line 187, in login
    self.connection = await connect(self.host_name, extra_headers=headers)
  File "Y:\OpenAIBotForQQ\python\lib\site-packages\websockets\legacy\client.py", line 659, in __await_impl_timeout__
    return await asyncio.wait_for(self.__await_impl__(), self.open_timeout)
  File "asyncio\tasks.py", line 458, in wait_for
asyncio.exceptions.TimeoutError

运行不了

运行环境

  • 部署方式:
    手动部署/自动部署/Docker部署
  • 系统环境:
    e.g. Centos x64
  • Python环境(仅手动部署填写):
    e.g. Python 3.10.9

描述漏洞
什么时候发生的,mirai还是主程序,越详细越好
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 uvicornhypercorn
在命令行键入:
pip install uvicorn
或者
pip install hypercorn
[2022-12-22 17:22:53.800] bot.py (260) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 uvicornhypercorn
在命令行键入:
pip install uvicorn
或者
pip install hypercorn
2022-12-22 17:22:55 - ERROR server rejected WebSocket connection: HTTP 404
[2022-12-22 17:22:55.855] base.py (43) - [ERROR] : server rejected WebSocket connection: HTTP 404
Exception in thread Thread-1 (run):
Traceback (most recent call last):
File "threading.py", line 1016, in _bootstrap_inner
File "threading.py", line 953, in run
File "C:\ikunbot\python\lib\site-packages\mirai\bot.py", line 197, in run
MiraiRunner(self).run(host, port, asgi_server, **kwargs)
File "C:\ikunbot\python\lib\site-packages\mirai\bot.py", line 274, in run
asyncio.run(self._run())
File "asyncio\runners.py", line 44, in run
File "asyncio\base_events.py", line 649, in run_until_complete
File "C:\ikunbot\python\lib\site-packages\mirai\bot.py", line 238, in _run
await self.startup()
File "C:\ikunbot\python\lib\site-packages\mirai\bot.py", line 226, in startup
await asyncio.gather(*coros)
File "C:\ikunbot\python\lib\site-packages\mirai\bot.py", line 135, in startup
await self._adapter.login(self.qq)
File "C:\ikunbot\python\lib\site-packages\mirai\adapters\base.py", line 35, in wrapped
return await func(self, *args, **kwargs)
File "C:\ikunbot\python\lib\site-packages\mirai\adapters\websocket.py", line 187, in login
self.connection = await connect(self.host_name, extra_headers=headers)
File "C:\ikunbot\python\lib\site-packages\websockets\legacy\client.py", line 659, in await_impl_timeout
return await asyncio.wait_for(self.await_impl(), self.open_timeout)
File "asyncio\tasks.py", line 445, in wait_for
File "C:\ikunbot\python\lib\site-packages\websockets\legacy\client.py", line 666, in await_impl
await protocol.handshake(
File "C:\ikunbot\python\lib\site-packages\websockets\legacy\client.py", line 332, in handshake
raise InvalidStatusCode(status_code, response_headers)
websockets.exceptions.InvalidStatusCode: server rejected WebSocket connection: HTTP 404

完整报错信息
完整的报错信息

[BUG] 机器人已启动的,但是私聊机器人不给回复

运行环境

  • 部署方式:
    手动部署
  • 系统环境:
    Ubuntu 9.4.0-1ubuntu1~20.04
  • Python环境(仅手动部署填写):
    python3.9.13

描述漏洞
2022年12月17日 启动了mirai,正常启动了。然后启动QChatGPT后,也正常启动了;接着私聊机器人的QQ号,机器人不回复

完整报错信息

mirai启动日志:

  00:33:03 [INFO] iTX Technologies Mirai Console Loader version 2.1.2-61c8bd8
  00:33:03 [INFO] Runtime: OpenJDK 64-Bit Server VM 17.0.5 (arch: 64)
  00:33:03 [INFO] https://github.com/iTXTech/mirai-console-loader
  00:33:03 [INFO] This program is licensed under GNU AGPL v3
  00:33:07 [INFO] Mirai Console Loader Announcement:
Mirai Console Loader 公告栏

如果在图片上传的时候遇到问题请与我们联系 (需要提供图片文件源本)
`- 如 Unsupported image type for ExternalResource *
`  considering use gif/png/bmp/jpg format.
`- Tracker: https://github.com/mamoe/mirai/issues/new/choose

常用资源整合
`- https://mirai.mamoe.net/topic/653
 
MCL 已推出 2.1.0,更好的支持 Mirai 2.11 的插件系统,建议更新。

  00:33:07 [INFO] Verifying "net.mamoe:mirai-console" v2.13.2
  00:33:08 [INFO] Verifying "net.mamoe:mirai-console-terminal" v2.13.2
  00:33:08 [INFO] Verifying "net.mamoe:mirai-core-all" v2.13.2
  00:33:08 [INFO] Verifying "org.itxtech:mcl-addon" v2.1.1
  00:33:09 [INFO] Verifying "net.mamoe:mirai-api-http" v2.6.2
2022-12-17 00:33:09 I/main: Starting mirai-console...
2022-12-17 00:33:09 I/main: 

==================================[ Mirai consosle 2.13.2 ]===================================
 __       __ __                   __  ______                                      __
|  \     /  \  \                 |  \/      \                                    |  \
| ▓▓\   /  ▓▓\▓▓ ______   ______  \▓▓  ▓▓▓▓▓▓\ ______  _______   _______  ______ | ▓▓ ______
| ▓▓▓\ /  ▓▓▓  \/      \ |      \|  \ ▓▓   \▓▓/      \|       \ /       \/      \| ▓▓/      \
| ▓▓▓▓\  ▓▓▓▓ ▓▓  ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓ ▓▓     |  ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\  ▓▓▓▓▓▓▓  ▓▓▓▓▓▓\ ▓▓  ▓▓▓▓▓▓\
| ▓▓\▓▓ ▓▓ ▓▓ ▓▓ ▓▓   \▓▓/      ▓▓ ▓▓ ▓▓   __| ▓▓  | ▓▓ ▓▓  | ▓▓\▓▓    \| ▓▓  | ▓▓ ▓▓ ▓▓    ▓▓
| ▓▓ \▓▓▓| ▓▓ ▓▓ ▓▓     |  ▓▓▓▓▓▓▓ ▓▓ ▓▓__/  \ ▓▓__/ ▓▓ ▓▓  | ▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ ▓▓ ▓▓▓▓▓▓▓▓
| ▓▓  \▓ | ▓▓ ▓▓ ▓▓      \▓▓    ▓▓ ▓▓\▓▓    ▓▓\▓▓    ▓▓ ▓▓  | ▓▓       ▓▓\▓▓    ▓▓ ▓▓\▓▓     \
 \▓▓      \▓▓\▓▓\▓▓       \▓▓▓▓▓▓▓\▓▓ \▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓   \▓▓\▓▓▓▓▓▓▓  \▓▓▓▓▓▓ \▓▓ \▓▓▓▓▓▓▓


2022-12-17 00:33:09 I/main: Backend: version 2.13.2, built on 2022-12-05 01:50:53.
2022-12-17 00:33:09 I/main: Frontend Terminal: version 2.13.2, provided by Mamoe Technologies
2022-12-17 00:33:09 I/main: Welcome to visit https://mirai.mamoe.net/
2022-12-17 00:33:10 W/stderr: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2022-12-17 00:33:10 W/stderr: SLF4J: Defaulting to no-operation (NOP) logger implementation
2022-12-17 00:33:10 W/stderr: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2022-12-17 00:33:10 I/plugin: Successfully loaded plugin net.mamoe.mirai-api-http v2.6.2
2022-12-17 00:33:10 I/plugin: Successfully loaded plugin MCL Addon v2.1.1
2022-12-17 00:33:10 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop
2022-12-17 00:33:10 W/net.mamoe.mirai-api-http: USING INITIAL KEY, please edit the key
2022-12-17 00:33:10 I/Mirai HTTP API: ********************************************************
2022-12-17 00:33:10 W/stderr: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2022-12-17 00:33:10 W/stderr: SLF4J: Defaulting to no-operation (NOP) logger implementation
2022-12-17 00:33:10 W/stderr: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2022-12-17 00:33:10 I/ws adapter: >>> [ws adapter] is listening at ws://localhost:8006
2022-12-17 00:33:10 I/Mirai HTTP API: Http api server is running with verifyKey: INITKEYWev0bQtj
2022-12-17 00:33:10 I/Mirai HTTP API: adaptors: [ws]
2022-12-17 00:33:10 I/Mirai HTTP API: ********************************************************
2022-12-17 00:33:10 I/MCL Addon: iTXTech MCL Version: 2.1.2-61c8bd8
2022-12-17 00:33:10 W/MCL Addon: iTXTech Soyuz 未安装,Soyuz MCL Handler 特性已禁用
2022-12-17 00:33:11 I/main: 2 plugin(s) enabled.
2022-12-17 00:33:11 I/main: mirai-console started successfully.
> login 11450111xx xxxxxxxx
2022-12-17 00:33:37 W/stderr: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
2022-12-17 00:33:37 I/Bot.1145011164: Loaded account secrets from local cache.
2022-12-17 00:33:38 I/Bot.1145011164: Saved account secrets to local cache for fast login.
2022-12-17 00:33:38 I/Bot.1145011164: Login successful.
2022-12-17 00:33:40 V/Bot.1145011164: Event: BotOnlineEvent(bot=Bot(1145011164))
2022-12-17 00:33:40 I/Bot.1145011164: Bot login successful.
11 (1145011164) Login successful
2022-12-17 00:33:40 V/Bot.11450111xx: 地球() -> !help
2022-12-17 00:33:56 V/Bot.11450111xx: 地球() -> 1
2022-12-17 00:35:06 V/Bot.11450111xx: 地球() -> !help
2022-12-17 00:35:32 V/Bot.11450111xx: 地球() -> 请帮我写一个能提取网址的正则表达式
2022-12-17 00:48:31 V/Bot.11450111xx: 地球() -> @11450111xx /count

QChatGPT启动日志

Database initialized.
load usage:{'7e4dc42664b246d5a8a6e3c4c2f90ae1': 0}
[2022-12-17 00:38:04.729] keymgr.py (52) - [INFO] : 使用api-key:default
[2022-12-17 00:38:04.730] main.py (74) - [INFO] : 程序启动完成
2022-12-17 00:38:04 - WARNING  未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-17 00:38:04.731] bot.py (262) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
2022-12-17 00:38:04 - INFO     [WebSocket] 成功登录到账号11450111xx。
[2022-12-17 00:38:04.840] websocket.py (194) - [INFO] : [WebSocket] 成功登录到账号11450111xx。
2022-12-17 00:38:04 - INFO     [WebSocket] 机器人开始运行。按 Ctrl + C 停止。
[2022-12-17 00:38:04.841] websocket.py (250) - [INFO] : [WebSocket] 机器人开始运行。按 Ctrl + C 停止。

Did not receive a valid HTTP response

(base) [root@iZwz9clns9fhh6rwn6zeqgZ QChatGPT]# python3 main.py
2022-12-11 14:26:06 - WARNING  未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-11 14:26:06.326] bot.py (262) - [WARNING] : 未找到可用的 ASGI 服务,反向 WebSocket 和 WebHook 上报将不可用。
仅 HTTP 轮询与正向 WebSocket 可用。
建议安装 ASGI 服务器,如 `uvicorn` 或 `hypercorn`。
在命令行键入:
    pip install uvicorn
或者
    pip install hypercorn
[2022-12-11 14:26:06.327] main.py (69) - [INFO] : 程序启动完成
2022-12-11 14:26:06 - ERROR    did not receive a valid HTTP response
[2022-12-11 14:26:06.331] base.py (43) - [ERROR] : did not receive a valid HTTP response
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/http.py", line 120, in read_response
    status_line = await read_line(stream)
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/http.py", line 200, in read_line
    raise EOFError("line without CRLF")
EOFError: line without CRLF

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/client.py", line 138, in read_http_response
    status_code, reason, headers = await read_response(self.reader)
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/http.py", line 122, in read_response
    raise EOFError("connection closed while reading HTTP status line") from exc
EOFError: connection closed while reading HTTP status line

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/anaconda3/lib/python3.9/threading.py", line 980, in _bootstrap_inner
    self.run()
  File "/root/anaconda3/lib/python3.9/threading.py", line 917, in run
    self._target(*self._args, **self._kwargs)
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/bot.py", line 199, in run
    MiraiRunner(self).run(host, port, asgi_server, **kwargs)
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/bot.py", line 276, in run
    asyncio.run(self._run())
  File "/root/anaconda3/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/root/anaconda3/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/bot.py", line 240, in _run
    await self.startup()
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/bot.py", line 228, in startup
    await asyncio.gather(*coros)
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/bot.py", line 137, in startup
    await self._adapter.login(self.qq)
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/adapters/base.py", line 35, in wrapped
    return await func(self, *args, **kwargs)
  File "/root/anaconda3/lib/python3.9/site-packages/mirai/adapters/websocket.py", line 187, in login
    self.connection = await connect(self.host_name, extra_headers=headers)
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/client.py", line 659, in __await_impl_timeout__
    return await asyncio.wait_for(self.__await_impl__(), self.open_timeout)
  File "/root/anaconda3/lib/python3.9/asyncio/tasks.py", line 479, in wait_for
    return fut.result()
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/client.py", line 666, in __await_impl__
    await protocol.handshake(
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/client.py", line 326, in handshake
    status_code, response_headers = await self.read_http_response()
  File "/root/anaconda3/lib/python3.9/site-packages/websockets/legacy/client.py", line 144, in read_http_response
    raise InvalidMessage("did not receive a valid HTTP response") from exc
websockets.exceptions.InvalidMessage: did not receive a valid HTTP response

依赖包mirai安装异常,报错NameError: name 'execfile' is not defined

系统版本:Linux ip-172-31-0-40.ap-east-1.compute.internal 5.10.118-111.515.amzn2.x86_64 #1 SMP Wed May 25 22:12:19 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
python版本: 3.9.8 和 3.11.1
截图:
image
异常:
Collecting mirai
Using cached mirai-0.1.5.tar.gz (12 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [8 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-install-4odfkf1h/mirai_a12ce1acd10f46d5ba7f8f474cadfc17/setup.py", line 16, in
version = version('mirai'),
File "/tmp/pip-install-4odfkf1h/mirai_a12ce1acd10f46d5ba7f8f474cadfc17/setup.py", line 9, in version
execfile(_version, env)
NameError: name 'execfile' is not defined
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.