#はじめに
###投稿者の自己紹介
どうもまぬおです!discord.pyでBotを開発しています。よろしくお願いします
###お知らせ
Discord Bot Advent Calendar 2020
この記事はDiscord Bot Advent Calendarの4日目の記事です。ほかの方の投稿もぜひご覧になってください
1日目【Discord.py】Discord.py 1.5で追加されたIntentsを攻略する
2日目【Discord.py】チャンネルを持ったカテゴリを作成する
3日目【Discord.py】ボイスチャンネルの招待メッセージを送信する
他の日にも投稿しています。たくさんのViewありがとうございます!
良ければ、LGTMもよろしくお願いします!
###今回のテーマ
今回は、Unicode絵文字とカスタム絵文字の違いについて紹介したいと思います
Unicode絵文字とカスタム絵文字では扱いに少し違いがありますので、その辺を紹介できればと思います
また、この記事はある程度Botを開発したことがある中級者向けの記事になっています。Botの開発を始める方法などは書きませんので注意してください
初心者の方には、別の方が書いていただいた初心者向けの記事があります
ボクもこの記事からDiscord Bot開発を勉強し始めましたのでおすすめです!
PythonでDiscordBotを書く方法
##絵文字とは
###簡単便利なスタンプ
絵文字はご存じの通り、いろんな顔やサムズアップなどたくさん種類があります
返事をしたいけど文字を打つのがめんどくさい時に便利ですね
また、Discordでは自分で絵文字を追加することもできます
サーバーに合う絵文字を使えるので便利です
##二つの違い
人間が絵文字を打つときにはさほど変わりはありませんが、Botが絵文字を使用するときには違いが出てきます
これらはそれぞれの絵文字を取得する際のコードです
# Unicode絵文字
UnicodeEmoji = "\N{SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES}"
# カスタム絵文字
CustomEmoji = "<:manuo:784105295328313394>"
###Unicode絵文字の場合
"\N{Unicode Character Name}"
で絵文字を取得します
{}の中に入れる文字列はUnicode Character Nameを確認するサイトで確認できます
使いたい絵文字の文字列を検索して記述してください
###カスタム絵文字の場合
"<:alias:ID>"
で絵文字を取得します
aliasは絵文字を入力する画面で確認できますが、IDは絵文字を打つ画面でもサーバー設定の絵文字を管理する画面でも確認することができません
以下の記事でも紹介されていますが、IDは\:alias:
と入力して送信する方法で確認できます
Discordの絵文字IDを確認する方法
参考にさせていただきました。ありがとうございます
##実際に使ってみる
絵文字の取得方法がわかったところで、実際にBotに送信させてみます
今回のコードはこちら
import discord
TOKEN = "TOKEN"
client = discord.Client()
# Unicode絵文字
UnicodeEmoji = "\N{SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES}"
# カスタム絵文字
CustomEmoji = "<:manuo:784105295328313394>"
@client.event
async def on_message(message):
# 送信者がBotの場合は反応しない
if message.author.bot:
return
# 絵文字を返信
Channel = message.channel
await Channel.send(UnicodeEmoji)
await Channel.send(CustomEmoji)
client.run(TOKEN)
Bot以外からメッセージが送られたら絵文字を返すBotですね
Unicode絵文字、カスタム絵文字のどちらも使えているのがわかると思います
##おわりに
###取得に一癖あり
普段から頻繁に利用する絵文字ですが、Botで扱う際には一癖あります
取得した後は同じものとして扱えるので、そこからはややこしくないのですが
Botが絵文字を使えると一気にお茶目さが増すので、ぜひ使ってみてください
サーバーに追加した絵文字を有効活用すると、同じ機能でも視覚的にわかりやすくなるのでおすすめです
###おわりのあいさつ
ここまで読んでいただき、ありがとうございました
この記事がみなさんの開発に役立つと幸いです
それでは良いDiscord Bot開発ライフを!
###各種バージョン
Python3 : 3.6.9
Discord.py : 1.5.1