DiscordのJavaScriptボットでタイマーを作成する方法について説明します。以下に、いくつかの方法とコード例を示します。
-
setTimeoutを使用したタイマー:
// タイマーを開始する関数 function startTimer(message, timeInSeconds) { setTimeout(() => { message.channel.send('タイマーが終了しました!'); }, timeInSeconds * 1000); } // メッセージが送信されたときにタイマーを開始するイベントハンドラ client.on('messageCreate', (message) => { if (message.content.startsWith('!timer')) { const args = message.content.split(' '); const timeInSeconds = parseInt(args[1]); startTimer(message, timeInSeconds); } });
-
setIntervalを使用したタイマー:
// タイマーのインターバル(ミリ秒単位) const interval = 1000; // タイマーを開始する関数 function startTimer(message, timeInSeconds) { let secondsLeft = timeInSeconds; const timer = setInterval(() => { message.channel.send(`残り時間: ${secondsLeft}秒`); secondsLeft--; if (secondsLeft < 0) { clearInterval(timer); message.channel.send('タイマーが終了しました!'); } }, interval); } // メッセージが送信されたときにタイマーを開始するイベントハンドラ client.on('messageCreate', (message) => { if (message.content.startsWith('!timer')) { const args = message.content.split(' '); const timeInSeconds = parseInt(args[1]); startTimer(message, timeInSeconds); } });
これらのコード例を使用すると、Discordのチャット上で!timer 秒数
と入力することで、指定した秒数後にタイマーが終了し、メッセージが送信されます。
このようにして、DiscordボットでJavaScriptを使用してタイマーを作成することができます。