首页 > 解决方案 > Discord 从频道中获取随机消息 [Python]

问题描述

机器人应该从不同的频道获取随机消息并将其发送到发出命令的频道。

示例:我在#chat 中,它应该从#memes 获取随机消息并将其发布到我发出命令的#chat 中。

这是我制作的代码,它并没有真正起作用。

@client.command()
async def meme(ctx, message_id, channel_id):
    guild = ctx.guild
    channel = guild.get_channel(int(672740818645417984))
    message = guild.fetch_message(random.choice(int(message_id)))
    message = await channel.fetch_message(int(message_id))
    await channel.send(message)

目前作为错误它无法获取 message_id

标签: pythondiscord

解决方案


这行得通。

@client.command()
async def meme(ctx):

    channel = client.get_channel("channel id")

    allmes = []
    async for message in channel.history(limit=200):
        allmes.append(message)

    randoms = random.choice(allmes).content

    await ctx.send(randoms)

推荐阅读