Created
April 4, 2023 21:20
-
-
Save pataiadam/5bdafd8ce59b08176f448b2bb2a4331f to your computer and use it in GitHub Desktop.
jolvanezigy gpt bot csokival es adammal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const googleTTS = require("google-tts-api"); | |
let mpv = require('node-mpv'); | |
const play = async (json) => { | |
let {text} = JSON.parse(json) | |
// text max length is 200 | |
text = text.substring(0, 199) | |
const url = googleTTS.getAudioUrl(text, { lang: "hu", slow: false, host: "https://translate.google.com" }) | |
const mpvPlayer = new mpv(); | |
mpvPlayer.speed(1.5) | |
await mpvPlayer.load(url) | |
return new Promise((resolve, reject) => { | |
mpvPlayer.on('stopped', function() { | |
resolve() | |
}); | |
}) | |
} | |
async function run() { | |
const {ChatGPTAPI} = (await import('chatgpt')) | |
console.log(ChatGPTAPI) | |
const alice = new ChatGPTAPI({ | |
apiKey: process.env.OPENAI_API_KEY | |
}) | |
const bob = new ChatGPTAPI({ | |
apiKey: process.env.OPENAI_API_KEY | |
}) | |
const topic = `Helyreigazítást akar az erdő nélküli lombkoronasétány miatt a polgármester` | |
const user1 = 'Ádám' | |
const user2 = 'Csoki' | |
const prompt = `Egy youtube-er vagy, a neved ${user1}. A jolvanezigy csatornan napi politikai hirekrol, kulonfele temakrol beszelgettek viccesen ${user2}-val. | |
En leszek ${user2}, Te leszel ${user1}. Mi ketten beszelgessunk az alabbi temarol, humorosan, egyszeruen: | |
===TEMA KEZDETE=== | |
${topic} | |
===TEMA VEGE=== | |
A valaszodnak JSON formatumunak KELL lennie, az alabbi strukturaval: {"name": "${user1}", "text": "...szoveg amit a ${user1} mond..."}. A valaszod MINDIG ebben a formaban irhatod csak! | |
En is mindig JSON formatumban valaszolok, a nevem ${user2}. | |
Csak 1-2 mondatot valaszolj, utana várd meg a valaszomat. Maximum 150 karakterrel valaszolj! | |
Soha se ismeteld meg magad es a masik fel valaszat, mindig uj mondatokat hasznalj, ne csak a masik fel mondatat masold vissza. Legyen folyton humoros, kicsit ercelodj, karcolj!. | |
` | |
let aliceRes = await alice.sendMessage(`${prompt} | |
Te kezded, mint ${user1}, es JSON!!!`) | |
console.log('A', aliceRes.text) | |
await play(`{"text": "Csoki, a mai cikk: ${topic}"}`) | |
await play(aliceRes.text) | |
console.log() | |
let bobRes = await bob.sendMessage(`${prompt} | |
En kezdem! | |
---- | |
${aliceRes.text}`) | |
console.log('B', bobRes.text) | |
await play(bobRes.text) | |
console.log() | |
const p = ` | |
HASZNALJ humort, szarkazmust vagy ironiat a mondataidban. A valaszodban beszelj politikarol, fideszrol, a kormany es ellenzek hibairol. Maximum 150 karakterrel valaszolj!` | |
while (true) { | |
aliceRes = await alice.sendMessage(bobRes.text + `${p}\n<folytasd a parbeszedet mint ${user1}, magyarul, ne erts egyet, ne ismeteld meg ${user2} valaszat. JSON formatumban valaszolj! JSON>`) | |
console.log('A', aliceRes.text) | |
await play(aliceRes.text) | |
console.log() | |
bobRes = await bob.sendMessage(aliceRes.text + `${p}\n<folytasd a parbeszedet mint ${user2}, magyarul, ne erts egyet, ne ismeteld meg ${user1} valaszat. JSON formatumban valaszolj! JSON>`) | |
console.log('B', bobRes.text) | |
await play(bobRes.text) | |
console.log() | |
} | |
} | |
run() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment