Как ожидать сообщение от пользователя из определенного канала discord.py?

Всем привет! Возникла необходимость ожидать сообщение от пользователя, но только если использовать для этого await client.wait_for('message') то бот будет получать сообщения из всех каналов, и всех серверов. Подскажите пожалуйста, как ждать сообщение из какого-то определенного канала.


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

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

wait_for принимает в качестве параметра check функцию, которая принимает полученное сообщение и возвращает True или False в зависимости от того, удовлетворяет ли объект сообщения заданным условиям.

Создайте такую функцию и проверяйте, чтобы совпадал канал

my_channel_id = 476387634587634587

def check(message: discord.Message) -> bool:
    return message.channel.id == my_channel_id


message = await bot.wait_for('message', check=check)
→ Ссылка