web-dev-qa-db-ja.com

Discord.pyでユーザーメッセージを削除する

ボット自体以外から送信されたメッセージを削除する方法はありますか、ドキュメントにはそれが可能であることが示されているようです

独自のメッセージは、適切な権限なしに削除される可能性があります。ただし、他の人のメッセージを削除するには、削除するための適切な権限が必要です。

しかし、on_messageイベントトリガーでメッセージのターゲットを設定する方法を見つけることができません。何か不足しているのですか、それとも不可能ですか?

7
Hardline_98

うん、それは可能でなければなりません。

「メッセージの管理」権限を取得するには、ボット/ユーザーアカウントが必要です。

@client.event
async def on_message(message):
    await client.delete_message(message)

したがって、イベントは次のように発生します

>User sends message
>Bot detects that the user has sent a message
>Bot deletes the message that the user sent

これからうまくいけば、ユーザーメッセージがどのように削除されるかを確認できるはずです。ボット/ユーザーアカウントが「メッセージの管理」権限であることを確認してください。

6
ocelot