diff --git a/bot.js b/bot.js index bf8ab6e..6bec12d 100644 --- a/bot.js +++ b/bot.js @@ -174,9 +174,19 @@ async function transcribeAudio(filePath) { response_format: 'json' // レスポンス形式をJSONに指定 }); - // 文字起こし結果を表示 + // 文字起こし結果を取得 if (response && response.text) { - console.log('Transcription:', response.text); + const transcription = response.text; + console.log('Transcription:', transcription); + + // ChatGPTを使用して返答を生成 + const reply = await generateChatResponse(transcription); + console.log('ChatGPT response:', reply); + + // 必要に応じて、返信内容をメッセージとして送信 + // 例えば、メッセージを元のチャンネルに送信するなど + // message.channel.send(reply); // メッセージを送信する場合 + } else { console.error('Error: Transcription response is missing "text" field.'); } @@ -185,4 +195,27 @@ async function transcribeAudio(filePath) { } } +// ChatGPTに応答を生成させる関数 +async function generateChatResponse(transcription) { + try { + const chatResponse = await openai.chat.completions.create({ + model: 'gpt-3.5-turbo', // ChatGPTのモデルを指定 + messages: [ + { role: 'system', content: 'You are a helpful assistant.' }, + { role: 'user', content: transcription } + ] + }); + + if (chatResponse && chatResponse.choices && chatResponse.choices.length > 0) { + return chatResponse.choices[0].message.content; // 応答内容を返す + } else { + console.error('Error: ChatGPT response is missing choices.'); + return null; + } + } catch (error) { + console.error('Error during ChatGPT response generation:', error.response ? error.response.data : error.message); + return null; + } +} + client.login(process.env.BOT_TOKEN);