Как мне внедрить функцию wait_for в свою команду?

#discord #discord.py #bots

Вопрос:

Я пытаюсь создать бота, который будет выбирать слово из текстового файла, а затем зашифровывать его, а затем пользователь расшифровывает слово и вводит его. Но я не знаю, как реализовать функцию wait_for в команде.

 @client.command()
async def start(ctx):
    await ctx.send('Time for chaos')
    Unscrambled_word = random.choice(list(open('C:\Users\user\Desktop\Discord Bots\Fake Speedjar\words.txt')))
 

Ответ №1:

Я предлагаю прочитать документацию здесь

Он поставляется с хорошим простым примером.

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

В основном метод wait_for будет ждать чего — то, а затем вернет это вам. В данном случае «сообщение».

 def check(msg):
    return msg.author == ctx.author and msg.channel == ctx.channel

message = await client.wait_for('message', check=check)
 

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

Пожалуйста, ознакомьтесь с документацией для получения дополнительной информации.