我正在尝试编程一个可以将消息从一个通道复制到另一个通道中的任何通道的机器人,但是即使我确定我正确地遵循了文档,我输入的代码也无法正常工作(希望)。
@bot.command() #Moves a message from channel to channel
async def copymessage(ctx, message_id, channel_id):
"""
Copy a message from channel to channel
"""
guild = ctx.guild
channel = guild.get_channel(int(channel_id))
message = guild.fetch_message(int(message_id))
print(f'Copying {message_id} to {channel_id}')
await channel.send(message)
我尝试使用类似的代码(如下所示)测试我是否正确执行了操作。该代码成功运行并完成了应做的工作。
channel = guild.get_channel(623681100778176513)
await channel.send("Sparkle is online!")
也许有人可以帮助我找出代码中的问题?
答案 0 :(得分:0)
fetch_message
是Messageable
s的属性(行会不可发消息),因此您需要使用channel.fetch_message
。还必须等待它。
message = await channel.fetch_message(int(message_id))