Closed Evyde closed 2 years ago
mah使用1.12,mirai使用2.7.1-dev
我这里 MAH 1.x 可以支持到 2.7 啊() 一直是用的 Python 3.8 我这里(
mah2适配在明年开启,使用新框架重构(今年考研)
加油
mah 1.12.0 可以支持到稳定版的 2.7.1 目前 debian buster x64 + mah 1.12.0 + mirai-* 2.7.1 + python 3.8 没大问题
MCL默认的是1.10,不适配新的Mirai,是他们的问题。但是早晚会不支持的( 以及用PostgreSQL跑不起来(
2021-11-24 23:10:29.747 | ERROR | SAGIRIBOT.Core.AppCore:bot_launch_init:174 - Traceback (most recent call last):
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 420, in _prepare_and_execute
self._rows = await prepared_stmt.fetch(*parameters)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/asyncpg/prepared_stmt.py", line 176, in fetch
data = await self.__bind_execute(args, 0, timeout)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/asyncpg/prepared_stmt.py", line 241, in __bind_execute
data, status, _ = await self.__do_execute(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/asyncpg/prepared_stmt.py", line 230, in __do_execute
return await executor(protocol)
File "asyncpg/protocol/protocol.pyx", line 201, in bind_execute
asyncpg.exceptions.UndefinedObjectError: type "blob" does not exist
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
self.dialect.do_execute(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 719, in do_execute
cursor.execute(statement, parameters)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 457, in execute
self._adapt_connection.await_(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
return current.driver.switch(awaitable)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
value = await result
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 432, in _prepare_and_execute
self._handle_exception(error)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 367, in _handle_exception
self._adapt_connection._handle_exception(error)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 660, in _handle_exception
raise translated_error from error
sqlalchemy.dialects.postgresql.asyncpg.AsyncAdapt_asyncpg_dbapi.ProgrammingError: <class 'asyncpg.exceptions.UndefinedObjectError'>: type "blob" does not exist
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/QQBot/sagiri-bot/SAGIRIBOT/Core/AppCore.py", line 131, in bot_launch_init
await orm.create_all()
File "/root/QQBot/sagiri-bot/SAGIRIBOT/ORM/AsyncORM.py", line 97, in create_all
await conn.run_sync(self.Base.metadata.create_all)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/ext/asyncio/engine.py", line 536, in run_sync
return await greenlet_spawn(fn, conn, *arg, **kw)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 134, in greenlet_spawn
result = context.throw(*sys.exc_info())
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/sql/schema.py", line 4785, in create_all
bind._run_ddl_visitor(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2113, in _run_ddl_visitor
visitorcallable(self.dialect, self, **kwargs).traverse_single(element)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/sql/visitors.py", line 524, in traverse_single
return meth(obj, **kw)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/sql/ddl.py", line 846, in visit_metadata
self.traverse_single(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/sql/visitors.py", line 524, in traverse_single
return meth(obj, **kw)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/sql/ddl.py", line 890, in visit_table
self.connection.execute(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/future/engine.py", line 280, in execute
return self._execute_20(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20
return meth(self, args_10style, kwargs_10style, execution_options)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/sql/ddl.py", line 77, in _execute_on_connection
return connection._execute_ddl(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1381, in _execute_ddl
ret = self._execute_context(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1845, in _execute_context
self._handle_dbapi_exception(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2026, in _handle_dbapi_exception
util.raise_(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
raise exception
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
self.dialect.do_execute(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 719, in do_execute
cursor.execute(statement, parameters)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 457, in execute
self._adapt_connection.await_(
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
return current.driver.switch(awaitable)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
value = await result
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 432, in _prepare_and_execute
self._handle_exception(error)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 367, in _handle_exception
self._adapt_connection._handle_exception(error)
File "/root/anaconda3/envs/QQBot/lib/python3.8/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 660, in _handle_exception
raise translated_error from error
sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedObjectError'>: type "blob" does not exist
[SQL:
CREATE TABLE keyword_reply (
keyword VARCHAR(200) NOT NULL,
reply_type VARCHAR(10) NOT NULL,
reply BLOB NOT NULL,
reply_md5 VARCHAR(32) NOT NULL,
PRIMARY KEY (keyword, reply_md5)
)
]
(Background on this error at: https://sqlalche.me/e/14/f405)
呜呜呜,爬取用SQLite了
mah 1.12.0 可以支持到稳定版的 2.7.1 目前 debian buster x64 + mah 1.12.0 + mirai-* 2.7.1 + python 3.8 没大问题
确实,但这玩意已经更新到2.9.0了。。。版本一旧就容易发不出去图片(
应该不是发不出去图片吧() tx好喜欢吞图来着
应该不是发不出去图片吧() tx好喜欢吞图来着
大面积问题,2.7.0的问题,升级2.7.1好了,但是总有一天2.7.1也会发不出去图的(
能苟一天就是一天我现在是( 2.7.1也有很多MiraiEvent已经不能收到了
能苟一天就是一天我现在是( 2.7.1也有很多MiraiEvent已经不能收到了
好吧,部署一次这个机器人挺折磨的( 之前 #3 的时候我就被折磨过一次,这次又折磨了一次,在不远的将来还得折磨一次( 每次的部署方法都不一样。 还有就是不知道为啥用不了PostgreSQL,我用其它程序连接数据库没啥问题。感觉是异步的asyncpg中间件的问题。
部署完了就快乐了() 目前我已经加了100+个群 140w条记录了() 跑起来了就问题不大了
部署完了就快乐了() 目前我已经加了100+个群 140w条记录了() 跑起来了就问题不大了
确实,虽然我的群不是很多,不过也很快乐。
fixed
fixed
辛苦Owner了😀
环境信息
系统版本: CentOS 7 源码版本: Latest 其他信息: Python 3.8 PyYAML 6.0
问题描述
PyYAML
PyYAML自从6.0开始load()方法需要Loader参数,您requirements.txt里面没有指定版本号,默认安装新版本。
python main.py
时,出现:解决方法:Requirements.txt里面指定PyYAML版本(如5.4)。
MAH
MCL中的默认MAH版本过旧,已经完全无法使用,只能把Core降级或者升级MAH,但MAH 2的API进行了大范围改动,只能选择对Core进行降级,目前所知的能支持MAH 1.x版本运行的最新Core为2.3,已经远远落后于最新稳定版2.7。希望作者能在当前Core版本登录协议未失效前对新的MAH进行适配。
Python
另外,似乎Bot对新版Python兼容性不好,我测试Python 3.9和3.10完全无法运行,其中3.10是Python自己的Bug,3.9不清楚,懒得复现了(
日志
无