ПРОБЛЕМА
Я не знаю, где я ошибаюсь, но приведенный ниже код, кажется, выдает мне ошибку NoneType, хотя я использовал эту вещь и в других своих винтиках.
КОД
@tasks.loop(seconds=10.0)
async def remind(self):
remind_channel = self.bot.get_channel(#id of channel)
await remind_channel.send("Passed")
ОШИБКА
'NoneType' object has no attribute 'send'
Я уверен, что в идентификаторе канала нет ошибки, а также я новичок в задачах, поэтому, если эта проблема возникает из-за этого, как мне ее решить?
Да, я сделал, и я проверяю это трижды :(
Также это тот же канал, который я использовал в своей командной функции чуть выше задач, и он отлично работает.
Попробуйте добавить await self.bot.wait_until_ready()
перед назначением remind_channel
NoneType
в этом случае означает, что либо идентификатор канала недействителен, либо канал отсутствует в кеше бота, потому что он сейчас запускается или что-то в этом роде.
Но в большинстве случаев канала просто нет в кеше бота.
Вы должны добавить await self.client.wait_until_ready()
в начале задачи, чтобы дождаться готовности кеша бота.
Как это:
@tasks.loop(seconds=10.0)
async def remind(self):
await self.client.wait_until_ready()
remind_channel = self.bot.get_channel(#id of channel)
await remind_channel.send("Passed")
Это буквально означает, что канал не найден. Дважды проверьте, правильно ли вы ввели идентификатор канала.