Python开发Discord机器人报错:ObservedList无法与list拼接
报错触发原因
- replit内置数据库
db中存储的列表并非Python原生列表类型,而是replit封装的专属ObservedList类型,该类型不支持直接和原生列表用+运算符拼接,所以执行options + db["encouragements"]时触发类型错误。 - 额外补充:你的代码还存在一处笔误,
update_encouragements函数中写的encouragements.appen(encouraging_message)拼写错误,正确方法名是append,后续运行到新增自定义鼓励语逻辑时也会触发报错。
修复方法
- 替换列表拼接的报错行,将
ObservedList转换为原生列表后再拼接:
把原代码中报错的行
options = options + db["encouragements"] #we will add those to the list of generic encouragements to create a full list of encouragements
修改为:
options = options + list(db["encouragements"])
- 修复笔误,把
update_encouragements函数中的
encouragements.appen(encouraging_message)
修改为:
encouragements.append(encouraging_message)
修改完成后即可正常运行。
内容的提问来源于stack exchange,提问作者RainOfPain125
相关产品推荐
相关产品推荐

