SAGIRI-kawaii / sagiri-bot

基于Graia Ariadne和Mirai的QQ机器人 SAGIRI-BOT
GNU Affero General Public License v3.0
696 stars 83 forks source link

[Bug Report] Bot 无法启动 #194

Closed sxjeru closed 2 years ago

sxjeru commented 2 years ago

环境信息

系统版本: Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-91-generic x86_64) 源码版本: 937a64e 其他信息: Python 3.8.10 mirai-console 2.9.1 mirai-api-http 2.4.0

问题描述 使用原来的 mysql 数据库启动时报下述错误:

Traceback (most recent call last):
  File "main.py", line 13, in <module>
    from sagiri_bot.core.app_core import AppCore
  File "/root/sagiri-bot-3.0.1/sagiri_bot/core/app_core.py", line 28, in <module>
    from sagiri_bot.orm.async_orm import orm
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 131, in <module>
    orm = AsyncORM(DB_LINK)
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 88, in __init__
    super().__init__(conn)
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 36, in __init__
    self.engine = create_async_engine(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/ext/asyncio/engine.py", line 40, in create_async_engine
    sync_engine = _create_engine(*arg, **kw)
  File "<string>", line 2, in create_engine
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/deprecations.py", line 309, in warned
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/create.py", line 619, in create_engine
    pool = poolclass(creator, **pool_args)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/pool/impl.py", line 105, in __init__
    self._overflow = 0 - pool_size
TypeError: unsupported operand type(s) for -: 'int' and 'str'

换成使用 SQLite 后出现不同报错:

2022-01-25 11:26:23.106 | INFO     | sagiri_bot.core.app_core:config_check:220 - Configuration check completed
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [alembic.util.messaging] Can't locate revision identified by 'abb5937d8d57'
  FAILED: Can't locate revision identified by 'abb5937d8d57'
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [alembic.util.messaging] Can't locate revision identified by 'abb5937d8d57'
  FAILED: Can't locate revision identified by 'abb5937d8d57'
2022-01-25 11:26:24.077 | INFO     | graia.ariadne.app:daemon:1321 - daemon: adapter started
2022-01-25 11:26:24.090 | ERROR    | sagiri_bot.core.app_core:bot_launch_init:188 - Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 100, in execute
    self._adapt_connection._handle_exception(error)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 229, in _handle_exception
    raise error
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 82, in execute
    self.await_(_cursor.execute(operation, parameters))
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
    return current.driver.switch(awaitable)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
    value = await result
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/cursor.py", line 37, in execute
    await self._execute(self._cursor.execute, sql, parameters)
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/cursor.py", line 31, in _execute
    return await self._conn._execute(fn, *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/core.py", line 129, in _execute
    return await future
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/core.py", line 102, in run
    result = function()
sqlite3.OperationalError: no such table: setting

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

Traceback (most recent call last):
  File "/root/sagiri-bot-3.0.1/sagiri_bot/core/app_core.py", line 158, in bot_launch_init
    await orm.update(Setting, [], {"active": False})
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 115, in update
    await self.execute(update(table).where(*condition).values(**dt))
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 51, in execute
    raise e
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 45, in execute
    result = await session.execute(sql, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/ext/asyncio/session.py", line 211, in execute
    return await greenlet_spawn(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 134, in greenlet_spawn
    result = context.throw(*sys.exc_info())
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py", line 1692, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1481, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1845, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 2026, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 100, in execute
    self._adapt_connection._handle_exception(error)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 229, in _handle_exception
    raise error
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 82, in execute
    self.await_(_cursor.execute(operation, parameters))
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
    return current.driver.switch(awaitable)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
    value = await result
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/cursor.py", line 37, in execute
    await self._execute(self._cursor.execute, sql, parameters)
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/cursor.py", line 31, in _execute
    return await self._conn._execute(fn, *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/core.py", line 129, in _execute
    return await future
  File "/usr/local/lib/python3.8/dist-packages/aiosqlite/core.py", line 102, in run
    result = function()
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: setting
[SQL: UPDATE setting SET active=?]
[parameters: (0,)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)

希望能优先用 mysql,因为之前的数据全存在 mysql 里。

SAGIRI-kawaii commented 2 years ago

mysql使用 @nullqwertyuiop

SAGIRI-kawaii commented 2 years ago

sqlite为bug,之后会修复

nullqwertyuiop commented 2 years ago

稍等

nullqwertyuiop commented 2 years ago

暴露了我工作环境不是最新 commit 的事实了(

sxjeru commented 2 years ago

感谢回应,sqlite 已可用。

mysql 更新报错:

2022-01-25 12:12:55.819 | INFO     | sagiri_bot.core.app_core:config_check:221 - Configuration check completed
2022-01-25 12:12:55.824 | INFO     | graia.ariadne.app:daemon:1321 - daemon: adapter started
2022-01-25 12:12:55.845 | ERROR    | sagiri_bot.core.app_core:bot_launch_init:189 - Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 97, in execute
    return self.await_(self._execute_async(operation, parameters))
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
    return current.driver.switch(awaitable)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
    value = await result
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 109, in _execute_async
    result = await self._cursor.execute(operation, parameters)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 239, in execute
    await self._query(query)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 457, in _query
    await conn.query(q)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 428, in query
    await self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 620, in _read_query_result
    await result.read()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 1103, in read
    first_packet = await self.connection._read_packet()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 591, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.8/dist-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.8/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.InternalError: (1054, "Unknown column 'chat_record.persistent_string' in 'field list'")

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

Traceback (most recent call last):
  File "/root/sagiri-bot-3.0.1/sagiri_bot/core/app_core.py", line 144, in bot_launch_init
    if not await orm.inited():
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 134, in inited
    await self.fetchone(select(table))
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 59, in fetchone
    result = await self.execute(sql)
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 52, in execute
    raise e
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 46, in execute
    result = await session.execute(sql, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/ext/asyncio/session.py", line 211, in execute
    return await greenlet_spawn(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 134, in greenlet_spawn
    result = context.throw(*sys.exc_info())
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py", line 1692, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1481, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1845, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 2026, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 97, in execute
    return self.await_(self._execute_async(operation, parameters))
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
    return current.driver.switch(awaitable)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
    value = await result
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 109, in _execute_async
    result = await self._cursor.execute(operation, parameters)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 239, in execute
    await self._query(query)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 457, in _query
    await conn.query(q)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 428, in query
    await self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 620, in _read_query_result
    await result.read()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 1103, in read
    first_packet = await self.connection._read_packet()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 591, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.8/dist-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.8/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1054, "Unknown column 'chat_record.persistent_string' in 'field list'")
[SQL: SELECT chat_record.id, chat_record.time, chat_record.group_id, chat_record.member_id, chat_record.persistent_string, chat_record.seg 
FROM chat_record]
(Background on this error at: https://sqlalche.me/e/14/2j85)
nullqwertyuiop commented 2 years ago

这个问题我也有遇到,不太确定用alembic咋整( 手动把表 chat_record 的列 content 改成 persistent_string 可以搞定

sxjeru commented 2 years ago

用了下述命令,随后获得新的报错。

alter table chat_record change content persistent_string varchar(4000); alter table setting change anti_flashimage anti_flash_image tinyint(1);

数据库里确实没有名为lolicon_data的表,难道说要手动添加这些字段吗?…

2022-01-25 13:08:42.174 | INFO     | sagiri_bot.core.app_core:config_check:221 - Configuration check completed
2022-01-25 13:08:46.447 | ERROR    | sagiri_bot.core.app_core:bot_launch_init:189 - Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 97, in execute
    return self.await_(self._execute_async(operation, parameters))
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
    return current.driver.switch(awaitable)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
    value = await result
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 109, in _execute_async
    result = await self._cursor.execute(operation, parameters)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 239, in execute
    await self._query(query)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 457, in _query
    await conn.query(q)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 428, in query
    await self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 620, in _read_query_result
    await result.read()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 1103, in read
    first_packet = await self.connection._read_packet()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 591, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.8/dist-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.8/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1146, "Table 'sagiri.lolicon_data' doesn't exist")

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

Traceback (most recent call last):
  File "/root/sagiri-bot-3.0.1/sagiri_bot/core/app_core.py", line 144, in bot_launch_init
    if not await orm.inited():
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 134, in inited
    await self.fetchone(select(table))
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 59, in fetchone
    result = await self.execute(sql)
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 52, in execute
    raise e
  File "/root/sagiri-bot-3.0.1/sagiri_bot/orm/async_orm.py", line 46, in execute
    result = await session.execute(sql, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/ext/asyncio/session.py", line 211, in execute
    return await greenlet_spawn(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 134, in greenlet_spawn
    result = context.throw(*sys.exc_info())
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py", line 1692, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1481, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1845, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 2026, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 97, in execute
    return self.await_(self._execute_async(operation, parameters))
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 76, in await_only
    return current.driver.switch(awaitable)
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/_concurrency_py3k.py", line 129, in greenlet_spawn
    value = await result
  File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/dialects/mysql/aiomysql.py", line 109, in _execute_async
    result = await self._cursor.execute(operation, parameters)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 239, in execute
    await self._query(query)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/cursors.py", line 457, in _query
    await conn.query(q)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 428, in query
    await self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 620, in _read_query_result
    await result.read()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 1103, in read
    first_packet = await self.connection._read_packet()
  File "/usr/local/lib/python3.8/dist-packages/aiomysql/connection.py", line 591, in _read_packet
    packet.check_error()
  File "/usr/local/lib/python3.8/dist-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.8/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "Table 'sagiri.lolicon_data' doesn't exist")
[SQL: SELECT lolicon_data.pid, lolicon_data.p, lolicon_data.uid, lolicon_data.title, lolicon_data.author, lolicon_data.r18, lolicon_data.width, lolicon_data.height, lolicon_data.tags, lolicon_data.ext, lolicon_data.upload_date, lolicon_data.original_url 
FROM lolicon_data]
(Background on this error at: https://sqlalche.me/e/14/f405)
nullqwertyuiop commented 2 years ago

?这 不应该啊 我这里也没碰到过这个问题(

sxjeru commented 2 years ago

手动添加缺失数据表后,可以正常启动。暂不知是否有其他bug。 相关文件:https://github.com/SAGIRI-kawaii/sagiri-bot/blob/Ariadne/sagiri_bot/orm/async_orm.py

手动添加lolicon_data数据表的命令:

create table lolicon_data( 
pid BIGINT NOT NULL, 
p INTEGER NOT NULL, 
uid BIGINT NOT NULL, 
title VARCHAR(200) NOT NULL, 
author VARCHAR(200) NOT NULL, 
r18 BOOLEAN NOT NULL, 
width INTEGER NOT NULL, 
height INTEGER NOT NULL, 
tags VARCHAR(1000) NOT NULL, 
ext VARCHAR(20) NOT NULL, 
upload_date DATETIME NOT NULL, 
original_url VARCHAR(200) NOT NULL, 
PRIMARY KEY (pid,p));
sxjeru commented 2 years ago

最后想问一下,该Bot框架对各群组的配置是存在哪个文件的?是否可以继承。 配置指这些:https://github.com/SAGIRI-kawaii/sagiri-bot/blob/Ariadne/docs/manage.md

nullqwertyuiop commented 2 years ago

setting