Open18
ChatGPTをDiscordに接続するやで
とりあえず何かしらのサーバーはホスティングしないといけないっぽい。
Discordの公式のBotドライバーがDiscord.jsとJSなのでNode.jsでやろうと思います。
現在Node.jsに絶賛はまっているのでちょうどいい🧡🧡🧡
必要なものざっくり
- サーバー 今回はGCPの無料枠で契約してるやつを使う
- OpenAIのアカウントとキー ちなみにGPTの利用は有料
- Discord Bot 新しく作った
- Discord botを動かすためのDiscord.js
- OpenAIのライブラリもあるっぽい?
まあとりあえずmkdirしておきますか
mkdir chatgpt-bot
cd chatgpt-bot
これさnpm init しなくてもnpm installってできるの?
いや・・・
まずそもそも
Node.js 16.9.0 or newer is required.
らしい
node -v
v10.19.0
だったので、とりあえずNode.jsをアップデート
とりあえず
ここに書いてあったリンク先 に書いてあったcurl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
を実行したら
v16.19.1
になった。
普通に
npm install discord.js
でいけた。
あとnpmをアップデートできるよと言われたのでしておいた。
まずは接続してみよ
dotenvなるものあるらしい
Discord BOTのチュートリアルがあんまなかったのでとりあえずこれコピペしたら動いた
とりあえず、Chatのgpt-3.5-turboっていうのを使うらしい。
値段がマジで安い
Playgroundでチャットを選ぶと使える
ここからパラメータを調整したい
とりあえず
npm install openai
しろ
一旦これでできたよ
//ここから上で秘密鍵やらTokenやらを設定しておいてください
const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildMessages]
});
const openai = new OpenAIApi(configuration);
async function chat(text){
const completion = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: text }],
});
return completion.data.choices[0].message.content ;
}
//起動確認
client.once('ready', () => {
console.log(`${client.user.tag} Ready`);
});
//返答
client.on('messageCreate', message => {
if (message.author.bot) {
return;
}
else {
(async()=>{
mes = await chat(message.content);
await message.channel.send(mes);
})();
}
});
tmuxで裏で動かす。
めんどくさかったので手動で動かした。
tmux new -t chatgpt
とりあえずClova voiceはりこちゃんがおすすめ
次はこれを研究する
まずはGoogle TTSと戦う