Запуск нескольких команд с помощью discord.py - PullRequest
1 голос
/ 20 июня 2020

Использование discord.py и python:

Итак, в основном у меня есть бот, который обновляет лучшие цены на определенную игру каждую минуту. Однако пока я это делаю, другие люди не могут получить доступ к боту. Например, давайте просто скажем, что у меня есть команда под названием «привет», которая при вызове выводит сообщение «привет» в чате. Поскольку код выполняется всегда, пользователь не может вызвать команду hello, потому что код слишком занят выполнением кода, который обновляется каждую минуту. Есть ли способ сделать так, чтобы код updateminute выполнялся, в то время как другие могли также вводить команды? бот слишком занят вычислением минуты обновления и ожиданием, другие люди не могут получить доступ к боту. Можно ли как-нибудь исправить это, чтобы бот вычислял свои данные и чтобы люди могли использовать команды ботов? Спасибо!

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Вы также можете превратить его в асинхронную c функцию, существенно упростив одновременную работу. Таким образом, ваш стандартный def станет async def, а затем, чтобы вызвать функцию, вы просто добавляете перед ней ожидание, поэтому await file2.calculate()

Надеюсь, что это поможет, а также немного легче понять

1 голос
/ 20 июня 2020

Вы можете посмотреть threading ! По сути, запустите два отдельных потока: один для приема запросов и один для обновления цен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...