カスタム絵文字をBotに発言させたい場合は、
<:custom_emoji:012345678910123456>
というようにカスタム絵文字の名前と絵文字のIDの組み合わせで発言させる必要があります。
今回は他のユーザーの発言に反応して、10%の確率でBotにカスタム絵文字をランダムで発言させてみました。
こんな感じでユーザーの発言に反応してランダムなカスタム絵文字で応答してくれます。
const discord = require("discord.js");
const client = new discord.Client();
client.on("message", message => {
//1〜100の乱数
const prob = Math.floor(Math.random() * 100);
//乱数の値が10以下だったら
if (message.content && prob < 10)
{
//massageがBot以外の発言だったら
if (message.author.id !== "BotのID"){
//絵文字のIDと名前を取得して配列に格納
var emojiID = [];
var emojiName = [];
message.guild.emojis.map((e, x) => emojiID.push(x));
message.guild.emojis.map((e, x) => emojiName.push(e.name));
//乱数を使って絵文字をランダムに選ぶ
const arrayLength = emojiID.length - 1;
const arrayIndex = Math.floor(Math.random() * arrayLength);
const aEmoji = "<:" + emojiName[arrayIndex] + ":" + emojiID[arrayIndex] + ">";
//絵文字を発言
message.channel.send(aEmoji);
}
}
なにかあったら気軽にコメントください。