(я использую discord.Client
, поэтому вам, возможно, придется немного изменить это значение)
У меня есть эта функция, которая отправляет человеку сообщение, когда он присоединяется.
@client.event
async def on_member_join(user):
await user.create_dm()
await user.dm_channel.send(f'Hi **{user.name}**, welcome to the server! Be sure to read the rules to stay out of trouble. Have a great time!')
Итак, перед Вы отправляете прямое сообщение человеку, сначала вам нужно await user.create_dm()
, чтобы открыть канал DM, где user
- это discord.Member
объект.
Так что-то вроде этого.
@client.command
async def DM(ctx, user):
user_identifier = int(user[2:-1])
message_user = client.get_user(user_identifier)
# now we have a discord.User class under message_user
await message_user.create_dm()
await message_user.dm_channel.send(user, "insert message here")
Также, когда вы украшаете функции, не вызывайте функцию, просто оставьте ее без скобок.