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

Я работаю над командой под названием report, и она должна делать две вещи.

1. Отправьте (внедрить) DM пользователю, вызывающему команду.

2. Отправьте сообщение на канал #reports.

Прямо сейчас я сосредоточился на части DM, а не пытался использовать встраивание прямо сейчас (хотя с генератором это должно быть легко). Я пробовал много методов, но все они не работают для меня, другими словами, они вообще не отправляют DM мне или пользователю. Я должен упомянуть, что у меня есть cog.py, но сейчас я использую для этого bot.py. В качестве префикса я использую +, указанный в моем config.py, но я хотел бы принудительно использовать ! для этой команды, если это возможно.

EDIT: Вот что у меня сработало, мне пришлось добавить (pass_context=True) в декоратор.

# report command
@bot.command(pass_context=True)
async def dm(ctx, user: discord.User, *, value):
    await user.send(f"**{value}**")
    await user.send(Sent by {ctx.author.display_name}")
try:
    bot.run(token)
except:
    pass

Я также пробовал следующие методы:

https://www.youtube.com/watch?v=OEo7FZpe-VA

https://www.youtube.com/watch?v=uyctSEjJ8r0

Если бы кто-нибудь мог предоставить мне несколько способов, я мог бы проверить, не хватает ли мне каких-либо компонентов о том, как я делать это правильно, или решение для отправки DM и, возможно, сообщения на канал, который был бы очень признателен!

EDIT: Очевидно, выполнение команд, в общем, не работает, поэтому, как только я исправьте, что указанные выше ресурсы тоже должны работать.

...