川柳添削BOT


SNSでたまに話題に上がる川柳検出BOT、普段の会話の中から五・七・五の部分を見つけて抜き出すというものだ。

僕の所属しているサーバーにも導入されたが、思いもよらなかったところから川柳を抜き出してくるのでなかなか面白い。そこで検出した川柳を添削するBOTを作成した。 文章の生成にはgemini-2.5-flashを使用。

仕組みとしては、以下のような感じ

投稿を検出

client.on('messageCreate', message => {
if (message.author.id === 'ここにBOTのID') {
const lines = message.content.split('\n');
const secondLine = lines[1];
gemini(secondLine, message.channel);
}
});

返信

async function gemini(message, channel) {
const prompt = "あなたは俳句の専門家です。以下の俳句を簡潔に添削してください。 例「XXXはいりません。なくてもXXXだけで伝わります。」、添削後の句はあってもなくてもよい。俳句は次の通り:" + message;
const result = await chat.sendMessageStream(prompt);
let response = "";
for await (const chunk of result.stream) {
const chunkText = chunk.text();
response += chunkText;
}
channel.send(response);
}