【discord.py】 メンションの方法 テキストチャンネルのリンク

今回も備忘録です。タイトルの通り、Botの発言中に相手へのメンションを入れる。
そして、 ”#〇〇”の形で、同じサーバー内にあるテキストチャンネルへのリンク方法です。

python 3.9 64-bit
discord.py 1.7.3
bot.commandで作成しています。


実は” .mention ”で、どちらも解決します。


例えば、よくあるコマンド入力者へのメンションを考えるとき、

@bot.command()
async def a(ctx):

   await ctx.send(f"{ctx.author.mention} hei")

とすることで、コマンドの情報 ctx における入力者 author に対してメンションすることができます。


そして、チャンネルリンクも” .mention ”でできるのですが、おそらくこちらについては、使用する際は固有のチャンネルリンクを貼りたいはずです。

channel = discord.utils.get(guild.text_channels, name="○○")

discord.utils.get で、条件に当てはまる情報を引っ張ってくることができ、この場合name を満たすものを、guild.text_channelsというサーバー内すべてのテキストチャンネルのリストの中から抽出しています。

これより

channel.mention

で、該当するテキストチャンネルへのリンクを貼ることができます。



今回は以上なのですが、discord.py で必要なことをできればいいやと思っている程度の私なのですが、

この記事を見つけて戦慄しております。なんとか対応していくしかないですが、この備忘録もどうなることやら・・・。


またまた余談なのですが、ついに有料noteが売れました。

シンプルに嬉しいです。


--------------
Shiftkeyについて


noteの内容に共感していただければ、ぜひともサポートを宜しくお願いします。今後の記事投稿の励みになります。