2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

discord.jsでBotにカスタム絵文字をランダムで発言させてみた

Posted at

カスタム絵文字をBotに発言させたい場合は、
<:custom_emoji:012345678910123456>
というようにカスタム絵文字の名前と絵文字のIDの組み合わせで発言させる必要があります。

今回は他のユーザーの発言に反応して、10%の確率でBotにカスタム絵文字をランダムで発言させてみました。
スクリーンショット 2020-01-10 15.36.26.png
こんな感じでユーザーの発言に反応してランダムなカスタム絵文字で応答してくれます。

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);
      }
    }

なにかあったら気軽にコメントください。

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?