generated at
ボットに「入力中...」と表示させたい
channel.sendTyping() を使用する
v12以前の startTyping とは異なり一度しか動作しない

message.channel.startTyping() で入力開始、 message.channel.stopTyping() で入力停止
止めるまでずっと続いて、止めたあとも数秒間続くことがある
startTyping() Promise が返るけど、 stopTyping() void なので注意しよう。

setTimeout を使って1秒間表示させる例
この後に msg.reply('~') などを入れたい時は setTimeout() 内に入れよう。
js
message.channel.startTyping() setTimeout(() => { message.channel.stopTyping() // message.reply('Hey!') }, 1000)

async/await を使って処理の間だけ表示させる例
js
const sleep = time => new Promise(resolve => setTimeout(resolve, time)) client.on('message', async message => { message.channel.startTyping() await sleep(1000) message.channel.stopTyping() message.reply('Hey!') })

注意
startTyping() await を付けたりすると永遠に入力中になってしまう。