Plugin Version
2.0.6
AstrBot Version
4.14.5
Database Type
MySQL
Operating System
Windows
Bug Description
�[32m[10:18:23.137]�[0m [Core] �[31m�[1m[ERRO]�[0m [v4.19.4] [facades.jargon_facade:120]: �[31m�[1m[JargonFacade] 插入黑话失败: (pymysql.err.DataError) (1406, "Data too long for column 'raw_content' at row 1")
向mysql保存消息的时候,由于消息太长(多层的转发消息,解析之后特别长)超过了mysql中message字段的TEXT的最大长度(TEXT: 最大长度为 65,535 字节,大约是 64KB),然后导致存不进去报错。
Steps to Reproduce
qq中转发一个多层的转发消息,并且开启了转发消息解析。
Expected Behavior
正常保存
Error Logs
�[32m[10:18:23.137]�[0m [Core] �[31m�[1m[ERRO]�[0m [v4.19.4] [facades.jargon_facade:120]: �[31m�[1m[JargonFacade] 插入黑话失败: (pymysql.err.DataError) (1406, "Data too long for column 'raw_content' at row 1")
Relevant Configuration
Additional Context
解决办法:
两种办法二选一,
1,把mysql中"raw_messages"表的"message"的字段从text改成 LONGTEXT: 最大长度为 4,294,967,295 字节,大约是 4GB。
2,添加一个截断功能,消息太长就截了,只保存前面部分的,后面不要了。
我改了一下:
jargon_facade.py
Plugin Version
2.0.6
AstrBot Version
4.14.5
Database Type
MySQL
Operating System
Windows
Bug Description
�[32m[10:18:23.137]�[0m [Core] �[31m�[1m[ERRO]�[0m [v4.19.4] [facades.jargon_facade:120]: �[31m�[1m[JargonFacade] 插入黑话失败: (pymysql.err.DataError) (1406, "Data too long for column 'raw_content' at row 1")
向mysql保存消息的时候,由于消息太长(多层的转发消息,解析之后特别长)超过了mysql中message字段的TEXT的最大长度(TEXT: 最大长度为 65,535 字节,大约是 64KB),然后导致存不进去报错。
Steps to Reproduce
qq中转发一个多层的转发消息,并且开启了转发消息解析。
Expected Behavior
正常保存
Error Logs
�[32m[10:18:23.137]�[0m [Core] �[31m�[1m[ERRO]�[0m [v4.19.4] [facades.jargon_facade:120]: �[31m�[1m[JargonFacade] 插入黑话失败: (pymysql.err.DataError) (1406, "Data too long for column 'raw_content' at row 1")Relevant Configuration
Additional Context
解决办法:
两种办法二选一,
1,把mysql中"raw_messages"表的"message"的字段从text改成 LONGTEXT: 最大长度为 4,294,967,295 字节,大约是 4GB。
2,添加一个截断功能,消息太长就截了,只保存前面部分的,后面不要了。
我改了一下:
jargon_facade.py