Klien Node.js yang direkayasa terbalik untuk Quora's Poe.
Dukungan: Ambil info yang diperlukan dan tulis ke file .env | Kirim pesan ke berbagai bot | Mengatur Proxy | Pesan Hapus/Hapus/Bersihkan | Dapatkan Pesan Sejarah | Dapatkan Info Bot | Dapatkan data berikutnya
Saya masih mengerjakan ini, jadi mungkin tidak stabil. Jika Anda memenuhi masalah, silakan buat masalah.
npm install poe-node-apipersyaratan:
- Node> = 18
- .env: untuk menyimpan param yang dibutuhkan seperti
poe-formkey/cookie/buildId/ botid .....
Dapatkan cookie dari poe.com: f12/periksa, aplikasi> cookie> https://poe.com> PB
Buat file .env di jalur root proyek Anda, dan tambahkan cookie ke file .env
cookie = p-b=xxxxxxxxxxxxxxxxxxxxxxxxxxx const client = new PoeClient ( { logLevel : 'debug' } ) ;
await client . init ( )
// If no poe-formkey and buildId in .env file, client will download needed params, next time will not need to fetch these params again until cookie is changed/logout(For now).Cara membuat klien:
import { PoeClient } from "poe-node-api" ;
const client = new PoeClient ( { logLevel : 'debug' } ) ;Bagaimana cara init klien
await client . init ( )buildId / poe-formkey dan menimpanya dalam file '.env' lokal.Untuk mencegah konflik, saat menggunakan multi-akun, Anda harus mengatur
rewriteToLocalEnvFileke FALSE
Nama julukan bot
botnickname <==> botdisplayname
- A2 <==> Claude-Instant
- A2_2 <==> Claude+
- Beaver <==> GPT-4
- Capybara <==> Sage
- nutria <==> capung
- Chinchilla <==> chatgpt
- Hutia <==> neevaai
- Bot Anda sendiri
/**
* send message to bot
* @param text user input
* @param botNickName bot nick name, like capybara(Sage) / a2(Claude-instant) / a2_2(Claude+) etc.
* @param withChatBreak Add a chat break or not. (Empty context)
* @param callback When ws on message, will invoke this callback function.
*/
await client . sendMessage ( text , botNickName , withChatBreak , ( result : string ) => { console . log ( ` ${ result } ` ) } )Teks: String
BotnickName: String
WithChatbreak: Boolean
callback: (hasil: string) => void
PERINGATAN : Terlalu banyak permintaan dalam satu menit akan menghasilkan akun (gratis) yang diblokir !!!!!
Saya telah mengirim sekitar 20 pesan dalam satu menit, dan sekarang diblokir. Login gagal dengan pesan kesalahan:
Something went wrong. Please wait a moment and try again.Jadi pastikan Anda tahu apa yang Anda lakukan ~
const res = await client . addChatBreak ( botNickName ) ; const res = await client . deleteMessage ( messageIds ) ; const res = await client . purgeAllMessage ( ) ;Hapus Semua Pesan Bot, Sama dengan Klik Poe.com> Pengaturan> Hapus Semua Pesan
const history = await client . getHistory ( botNickName , count ) ; const history = await client . getBotByNickName ( botNickName , retryCount , retryIntervalMs ) ; const history = await client . getNextData ( ) ;Bisa mendapatkan
poe-formkey/buildId/latest messages(seperti 5 pesan terbaru) danstartCursor(gunakan startCursor untuk mengambil pesan riwayat) /availableBots/x-forwarded-for/ ......
await client . updateAllBotInfo ( )Fungsi ini akan mengambil poe-formkey, buildID, pesan terbaru, startCursor dan semua informasi bot (chatid / id, dua param ini akan digunakan untuk).
Fungsi ini akan mengatur
poe-formkey/cookie/buildId/${botDisplayName}_chatIddan${botDisplayName}_idke file .env (parameter ini sama dengan cookie dan tidak perlu diminta setiap waktu).Lain kali Anda mengirim MSG ke bot apa pun, tidak perlu mengambil info bot lagi, klien akan mendapatkan param yang dibutuhkan seperti
buildIddari file .env lokal.
Contoh - sendmessage.ts
Contoh - sendmessage.ts
Contoh - Proxy.ts
Contoh - History.ts
Contoh - fetchallneededInfo.ts
Mit