как я могу отправить сообщение удаленному участнику в discord.py? - PullRequest
0 голосов
/ 10 июля 2020

Я хочу отправлять сообщения удаленному участнику, но не могу найти решения. Я использовал member.send и user.send. Но это не работает.

await member.sned_request_friend()

Я пытаюсь использовать это, но это не работает. Думаю, потому что это бот, а не клиент.

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Если вы хотите связаться с ними, если они будут заблокированы, обязательно отправьте сообщение, прежде чем банить пользователя. Поскольку это функция безопасности Discord, поэтому боты не могут dm рекламировать что-то всем пользователям Discord.

Возможно, вы думали, что все люди присоединяются и покидают ваш сервер через несколько минут, это просто самоботы или люди, которые не очень хочу быть на вашем сервере.

0 голосов
/ 10 июля 2020

Боты Discord могут отправлять сообщения только тем людям, с которыми они находятся на сервере с. (это эмпирическое правило, теоретически у бота все еще может сохраняться кеширование некоторых пользователей, но если это не работает, это, скорее всего, будет причиной)

Если участник удален с сервера, но все еще находится на другом сервере с ботом, вы должны повторно получить их по идентификатору, например

import discord

id_of_user = 1234
user = discord.utils(client.users, id=id_of_user)

Использование client.users, которое возвращает список всех пользователей, которых может видеть клиент, и discord.utils.get, чтобы найти пользователя с правильным идентификатором.

...