Как написать DM человеку, выполняющему команду - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь сделать команду, чтобы DM был человеком с текстом и некоторыми аргументами из него, при отправке сообщения с теми же аргументами в канал.

Прямо сейчас я пытаюсь выяснить часть DM . Все темы, которые могли мне помочь, были получены за 2 года от старого discord.py.

Вот моя попытка связаться с человеком, который запускает команду:

@bot.command
async def report(ctx):
    user = await ctx.message.author.id
    await DMChannel.send(user, "lol")
    await ctx.channel.purge(limit=1)

По сути, я просто два строковых аргумента, !report <name> <reason>. Я буду использовать их в DM и сообщении на канал. Но прямо сейчас все, что мне нужно, - это найти способ отправить DM человеку что-нибудь.

Я получил идею DMchannel из этого видео, но он показывает вам, как отправить его указанному человеку, а не контексту ( Думаю). https://www.youtube.com/watch?v=uyctSEjJ8r0

Ответы [ 2 ]

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

Так что на самом деле это было действительно просто.

Чтобы оператор await отправил DM вызывающему команду, мне пришлось сделать следующее:

@bot.command()
async def report(ctx, user, reason):
    await ctx.author.send("Haha :D")
0 голосов
/ 09 июля 2020

Я тоже пытался создать команду DM, и это было настолько близко, насколько я мог.

@bot.command
async def dm(ctx,member:discord.Member,*,content):
    user = await member.create_dm()
    await user.send(content)
    await ctx.message.delete()

Вот ссылка на create_dm(), которую я принял как помощь

...