こんにちは皆さん!
Discord bot でユーザーをメンションしコマンドを送信した人に通知を飛ばしたいときありますよね!
そちらの方が誰宛に送られたメッセージなのかユーザーもわかりやすいです。
今回はそんな Discord py でメンションをする方法を書きました。
お役立てください!
User Id でメンションする
Discord のユーザーには固有の ID が割り当てられています。
その ID を使ってユーザーをメンションします。
具体的には下のように <@ > で ID を囲むようにします。
if message.content == 'mention':
await message.channel.send("<@235495669459651178>")

ユーザーIDからメッセージを送信したユーザーをメンションする
上記の方法だと、誰が送信しても 特定の ユーザーにしかメンションされませんよね?
普通はメッセージの送信主にメンションをしたいので message class の author から id を取得します。
この方法はユーザー ID がわかっていればいいので、例えばデータベースに保存された ユーザーID を使用して特定のユーザーたちを
メンションすることも可能です。
それが下記のコードです。
if message.content == 'kon':
await message.channel.send("こんにちは <@{}> さん!".format(message.author.id))
author の メンション機能を使う
別の方法に author class のメンション機能を使うこともできます。
とはいっても ただ ユーザー ID を <@ > で挟んだ String を返してくれるだけなので上記の方法とあまり変わりません。
if message.content == 'kon':
await message.channel.send("こんにちは {} さん!".format(message.author.mention))