Я пишу бота Discord, и в фоновой задаче client.private_channels
и member.dm_channel
отображаются как None
. Вот мой код, в котором я создаю фоновую задачу.
# run this code when client is ready
def my_run_task():
client.loop.create_task(BackgroundManager())
client.run(_token)
Вот где я определил BackgroundManager()
:
async def BackgroundManager():
await client.wait_until_ready()
await SendDM(ID)
и, наконец, вот SendDM()
:
async def SendDM(ID):
member = client.guilds[0].get_member(int(ID))
DM = member.dm_channel
PC = client.private_channels
await member.dm_channel.send('DM has been sent.')
Обратите внимание, что ID
- это жестко закодированная строка, которую я отключил из соображений конфиденциальности. Это действительный идентификатор, который возвращает правильный объект-член.
DM
отображается как None
, а PC
- пустой список. Почему я не могу получить доступ к dm_channel пользователя?