5
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 1 year has passed since last update.

DiscordBotに入力中といわせよう!!

Last updated at Posted at 2023-01-03

はじめに

最近DiscordBotを作って遊んだりしているときに、こう思ったことはありませんか?
「Botにも入力中って出させたいなぁ~」と、
きっとこの記事を見ているということはそう思っているに違いない(そんなことない)と思うので、
さっそく作っていきましょう!!

開発環境

OS = Windows 10 Pro
Discord.js = 14.7.1

必要なもの

・ある程度完成したDiscordBot
・作りきるという気持ち

コード

まずは、特定の言葉に反応するプログラムを書きます。
ここでは、"Tenma"という言葉が文中にあるかに反応して"Tsukasa"とリプライを返すようにします。

index.js
~~~
if(msg.content.match(/Tenma/)) {
    msg.reply('Tsukasa')
}
~~~

ここから手を加えていきます。

ifとms.replyの間にmsg.channel.sendTyping()を入れます。

index.js
~~~
if(msg.content.match(/Tenma/)) {
    msg.channel.sendTyping()
    msg.reply('Tsukasa')
}
~~~

このmsg.channel.sendTypingは入力中を出す命令なので、実際はこれだけでも表示されるのですが、
「一瞬だけ過ぎて見えない!!」
と言う人のためにもう一工夫入れちゃいましょう!!

index.js
~~~
if(msg.content.match(/Tenma/)) {
    msg.channel.sendTyping()
    setTimeout(() => {
        msg.reply('Tsukasa')
    },1500)
}
~~~

これで特定のワードが入力されてから、1.5秒の間だけ入力中と表示されるようになりました。
これで、今までDiscordBot作りで困っていた人の悩みも吹っ飛んだはずです。

Memo1.png

Memo2.png

しっかりと動いていますね。

あとがき

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

実際作るものは簡単だから、ここよりこっち見たほうが速いかもしれない

5
0
0

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
5
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?