После большого перехода на версию 1.0 send_message
больше не существует.
Вместо этого у них есть перенесен на .send()
на каждой соответствующей конечной точке (участники, гильдии и т. д.).
Пример для версии 1.0:
async def on_message(self, message):
if message.content == '!verify':
await message.author.send("Your message goes here")
Которая будет DM отправителю !verify
. Как и мудрый, вы могли бы сделать:
for guild in client.guilds:
for channel in guild.channels:
channel.send("Hey yall!")
Если вы хотите отправить приветственное сообщение всем своим серверам и всем каналам, в которых работает бот.
Поскольку это могло быть не совсем понятно (судя по комментарию), сложная часть могла бы получить дескриптор идентификации пользователя от клиента / сеанса. Если вам нужно отправить сообщение пользователю, который не отправил сообщение, и это сообщение находится за пределами события on_message
. Вам нужно будет либо:
- Прокрутите свои каналы и возьмитесь за ручку на основе некоторых критериев
- Хранить дескрипторы / сущности пользователей и обращаться к ним с помощью внутреннего идентификатора
Но единственный способ отправить пользователю - использовать дескриптор удостоверения клиента, который в on_message
находится в message.author
или в канале, который находится в guild.channels[index].members[index]
. Чтобы лучше понять это, я рекомендую прочитать официальную документацию на как отправить DM?.
person
Torxed
schedule
22.06.2020