python - AttributeError:“消息”对象没有属性“消息”
问题描述
@bot.command()
async def level(ctx) :
file = openpyxl.load_workbook("level.xlsx")
sheet = file.active
exp = [10, 20, 40, 70, 110, 160, 220, 290, 370, 460, 560]
i = 1
while True :
if sheet["A" + str(i)].value == str(ctx.message.author.id) :
sheet["B" + str(i)].value = sheet["B" + str(i)].value + 2.5
if sheet["B" + str(i)].value >= exp[sheet["C" + str(i)].value - 1] :
sheet["C" + str(i)].value = sheet["C" + str(i)].value + 1
await ctx.send("Level UP !!\n현재 레벨 : " + str(sheet["C" + str(i)].value) + "\nExp : " + str(sheet["B" + str(i)].value))
file.save("level.xlsx")
break
if sheet["A" + str(i)].value == None :
sheet["A" + str(i)].value = str(ctx.message.author.id)
sheet["B" + str(i)].value = 0
sheet["C" + str(i)].value = 1
file.save("level.xlsx")
break
i += 1
我正在创建一个系统,该系统可以在聊天时自动建立 exp,并在某些 exp 被填满时升级。
使用@bot.command()
的时候,效果很好,但是我必须进入level才能使用,并且@bot.event
随时切换聊天,出现如下错误:
AttributeError: 'Message' object has no attribute 'message'
如何修复错误?
解决方案
查看代码和错误片段,我认为您需要替换ctx.message.author.id
为ctx.author.id
. 同样,我可能错了,因为您没有提供完整的错误堆栈跟踪。
推荐阅读
- javascript - 动作必须是普通对象。使用自定义中间件进行异步操作。React、Redux、Thunk
- android - 获取适配器中的 sharedpreference 数据
- python - 在 Tkinter 框架中嵌入 konsole 或 gnome 终端
- systemd - Systemd:需要和想要
- performance - 从后端更新 TreeTable 的部分内容
- regex - 构造正则表达式以仅从字符串中选择文件路径
- apache-spark - How to convert RDD Structure
- reactjs - 使用 MapStateToProps 时未定义 props
- android - 无法自定义 TimePicker 颜色
- java - 试图从火库中获取字符串