You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Discord消息中移除命令部分?机器人开发遇属性错误

问题解决:Discord机器人获取命令后文本的错误修正

你犯的核心错误是直接对message对象调用字符串方法——message是Discord库返回的Message实例对象,并非字符串,而.removeprefix()、.replace()这类方法是Python字符串专属的。你需要操作message.content属性,它才是存储消息文本内容的字符串字段。

修正后的代码

if message.content.startswith("/add "):
    # 对content属性调用字符串方法,提取命令后的文本
    command_text = message.content.removeprefix('/add ')
    # 此处可使用command_text进行后续逻辑处理

兼容Python3.9以下版本的替代方案

如果你的Python版本低于3.9(.removeprefix()是3.9新增方法),可以用切片实现相同效果:

if message.content.startswith("/add "):
    command_text = message.content[len('/add '):]

另一种灵活提取方式(支持多参数场景)

如果命令后可能包含空格分隔的内容,用split()方法更稳妥:

if message.content.startswith("/add "):
    # maxsplit=1确保只分割一次,保留命令后的全部文本(包括空格)
    parts = message.content.split(maxsplit=1)
    if len(parts) > 1:
        command_text = parts[1]

内容的提问来源于stack exchange,提问作者Charles Wyatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:20:38