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

Discord.py频道消息固定方法及代码NameError报错求助

解决Discord.py固定消息的问题

嘿,我来帮你搞定这个报错~你遇到的NameError是因为你调用的pin_message()并不是一个独立的全局函数,在Discord.py里,固定消息是消息对象自带的方法,得通过你发送的消息实例来调用才行。

正确的代码示例

你只需要把原来的代码改成这样:

# 发送消息并保存消息对象
message = await ctx.send("Message to pin")
# 调用消息对象的pin()方法完成固定
await message.pin()

额外补充:固定已存在的消息

如果你想固定频道里已经发过的旧消息,可以先通过频道和消息ID获取到对应的消息对象,再调用pin()方法:

# 替换成你的目标频道ID
channel = bot.get_channel(123456789012345678)
# 替换成你要固定的消息ID
existing_message = await channel.fetch_message(987654321098765432)
await existing_message.pin()

简单来说,Discord.py把固定消息的功能封装在了消息对象里,所以不能直接调用一个不存在的pin_message函数,而是要使用消息对象.pin()的形式~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 20:57:33