Как скопировать сообщение с канала на канал в раздоре? - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь запрограммировать бота, который может копировать сообщение с одного канала на другой с любого канала, находящегося в раздоре, но код, который я набрал, не работал, хотя я уверен, что правильно следовал документации (надеюсь,).

@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!")

Может быть, есть кто-то, кто может помочь мне выяснить проблему в моем коде?

1 Ответ

0 голосов
/ 23 сентября 2019

fetch_message является атрибутом Messageable с (гильдии не могут быть сообщены), поэтому вам нужно использовать channel.fetch_message.Это также должно ожидаться.

message = await channel.fetch_message(int(message_id))
...