SAGIRI-kawaii / sagiri-bot

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

接受群消息时发生报错 #22

Closed nightmare-yudachi closed 3 years ago

nightmare-yudachi commented 3 years ago

日志如下 python3.8 mysql8.0.23 2021-04-21 18:59:26.316 | ERROR | SAGIRIBOT.Handler.MessageHandler:handle:59 - Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1705, in _execute_context self.dialect.do_execute( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\default.py", line 681, in do_execute cursor.execute(statement, parameters) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\MySQLdb\cursors.py", line 206, in execute res = self._query(query) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\MySQLdb\cursors.py", line 319, in _query db.query(q) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\MySQLdb\connections.py", line 259, in query _mysql.connection.query(self, query) MySQLdb._exceptions.OperationalError: (1054, "Unknown column 'setting.group_id' in 'where clause'")

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

Traceback (most recent call last): File "D:\学习资料1\sagiri-bot-2.0.2\SAGIRIBOT\Handler\MessageHandler.py", line 54, in handle if result := await self.__head_handler.handle(app, message, group, member): File "D:\学习资料1\sagiri-bot-2.0.2\SAGIRIBOT\Handler\Handler.py", line 62, in handle if not await get_setting(group.id, Setting.switch) and member.id not in await get_admins(group): File "D:\学习资料1\sagiri-bot-2.0.2\SAGIRIBOT\utils.py", line 177, in get_setting if result := list(orm.fetchone(select(setting).where(Setting.group_id == group_id))): File "D:\学习资料1\sagiri-bot-2.0.2\SAGIRIBOT\ORM\ORM.py", line 49, in fetchone result = self.execute(sql) File "D:\学习资料1\sagiri-bot-2.0.2\SAGIRIBOT\ORM\ORM.py", line 42, in execute return self.engine.execute(sql, kwargs) File "", line 2, in execute File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\util\deprecations.py", line 390, in warned return fn(*args, *kwargs) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 3009, in execute return connection.execute(statement, multiparams, params) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1200, in execute return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\sql\elements.py", line 313, in _execute_on_connection return connection._execute_clauseelement( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1389, in _execute_clauseelement ret = self._execute_context( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1748, in _execute_context self._handle_dbapi_exception( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1929, in _handle_dbapiexception util.raise( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\util\compat.py", line 198, in raise_ raise exception File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1705, in _execute_context self.dialect.do_execute( File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\default.py", line 681, in do_execute cursor.execute(statement, parameters) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\MySQLdb\cursors.py", line 206, in execute res = self._query(query) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\MySQLdb\cursors.py", line 319, in _query db.query(q) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\MySQLdb\connections.py", line 259, in query _mysql.connection.query(self, query) sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1054, "Unknown column 'setting.group_id' in 'where clause'") [SQL: SELECT setting.switch FROM setting WHERE setting.group_id = %s]

SAGIRI-kawaii commented 3 years ago

请问使用的是最新版吗

nightmare-yudachi commented 3 years ago

使用的是2.0.3 确认过了 2.0.3和2.0.3都一样

SAGIRI-kawaii commented 3 years ago

请尝试删除data.db后重新启动,若还不行请尝试最新版本(从首页直接下载)

nightmare-yudachi commented 3 years ago

使用从首页直接下载的程序不会报错了 感谢