Как при случайном сообщении бот мог ответить любым сообщением, который уже был в чате?

Вообщем. Надеюсь, я смогу обьяснить. Человек отправил какое нибуть сообщение, например: "Ща"

А бот смог брать любое сообщение из чата, скажем "я звезда" и отвечал ему: "я звезда"

Вот пример на фотографии: пример лмпо

У меня не так уж и много навыка в програмировании на Discord.Py, так что любая помощь мне поможет.


Ответы (1 шт):

Автор решения: zrx

Покажу Вам очень костыльный вариант.

В моём варианте бот будет парсить последние 200 сообщений канала и отправлять рандомное. Число можно поставить любое, но если сообщение было отправлено больше 2х недель назад, то не факт что бот сможет его получить.
Ссылка на документацию -> https://discordpy.readthedocs.io/en/stable/api.html?highlight=channel#discord.TextChannel.history

Сам код:

import random

@bot.event
async def on_message(message):
    number_of_message = random.randint(0, 200) # Тут указываем лимит сообщений
    messages = await message.channel.history(limit=200).flatten() # Тут указываем лимит сообщений
    await message.channel.send(messages[number_of_message].content)
→ Ссылка