はじめに
最近DiscordBotを作って遊んだりしているときに、こう思ったことはありませんか?
「Botにも入力中って出させたいなぁ~」と、
きっとこの記事を見ているということはそう思っているに違いない(そんなことない)と思うので、
さっそく作っていきましょう!!
開発環境
OS = Windows 10 Pro
Discord.js = 14.7.1
必要なもの
・ある程度完成したDiscordBot
・作りきるという気持ち
コード
まずは、特定の言葉に反応するプログラムを書きます。
ここでは、"Tenma"という言葉が文中にあるかに反応して"Tsukasa"とリプライを返すようにします。
~~~
if(msg.content.match(/Tenma/)) {
msg.reply('Tsukasa')
}
~~~
ここから手を加えていきます。
ifとms.replyの間にmsg.channel.sendTyping()を入れます。
~~~
if(msg.content.match(/Tenma/)) {
msg.channel.sendTyping()
msg.reply('Tsukasa')
}
~~~
このmsg.channel.sendTypingは入力中を出す命令なので、実際はこれだけでも表示されるのですが、
「一瞬だけ過ぎて見えない!!」
と言う人のためにもう一工夫入れちゃいましょう!!
~~~
if(msg.content.match(/Tenma/)) {
msg.channel.sendTyping()
setTimeout(() => {
msg.reply('Tsukasa')
},1500)
}
~~~
これで特定のワードが入力されてから、1.5秒の間だけ入力中と表示されるようになりました。
これで、今までDiscordBot作りで困っていた人の悩みも吹っ飛んだはずです。
しっかりと動いていますね。
あとがき
Qiitaの記事を書くのは初めてで、ところどころ間違えている場所があるかもしれないので、温かい言葉で指摘してくれると幸いです。
参考ページ
https://scrapbox.io/discordjs-japan/%E3%83%9C%E3%83%83%E3%83%88%E3%81%AB%E3%80%8C%E5%85%A5%E5%8A%9B%E4%B8%AD...%E3%80%8D%E3%81%A8%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%81%9F%E3%81%84実際作るものは簡単だから、ここよりこっち見たほうが速いかもしれない