Ein umgekehrter konstruierter Node.js -Client für Quoras Poe.
Support: Fetch benötigte Informationen und schreiben Sie an .Env -Datei | Senden Sie Nachrichten an verschiedene Bots | Proxies einrichten | Nachrichten löschen/löschen/löschen | Holen Sie sich History -Nachrichten | Holen Sie sich Bot Info | Holen Sie sich die nächsten Daten
Ich arbeite immer noch daran, also ist es möglicherweise nicht stabil. Wenn Sie Probleme haben, erstellen Sie bitte ein Problem.
npm install poe-node-apiErfordernis:
- Knoten> = 18
- .env: Die erforderlichen Parameter wie
poe-formkey/cookie/buildId/ Botid speichern .....
Get Cookie von Poe.com: F12/Inspect, Application> Cookies> https://poe.com> PB
Erstellen Sie .EnV -Datei in Ihrem Projekt Root -Pfad und fügen Sie Cookie zur .env -Datei hinzu
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).So erstellen Sie einen Kunden:
import { PoeClient } from "poe-node-api" ;
const client = new PoeClient ( { logLevel : 'debug' } ) ;Wie man den Kunden initiert
await client . init ( )buildId / poe-formkey abholt und diese in der lokalen '.Env' -Datei überschreibt.Um Konflikte zu verhindern, sollten Sie bei der Verwendung von Multi-Account
rewriteToLocalEnvFileauf false festlegen
Bot -Spitznamen
BotNickName <==> BotDisplayName
- A2 <==> Claude-Instant
- A2_2 <==> Claude+
- Beaver <==> GPT-4
- Capybara <==> Salbei
- Nutria <==> Dragonfly
- Chinchilla <==> CHATGPT
- Hutia <==> neevaai
- Dein eigener Bot
/**
* 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 } ` ) } )Text: Zeichenfolge
BotNickName: String
Withchatbreak: Boolean
Rückruf: (Ergebnis: String) => void
WARNUNG : Zu viele Anfragen innerhalb einer Minute führen dazu, dass (kostenloses) Konto blockiert wird !!!!!
Ich hatte in einer Minute ungefähr 20 Nachrichten gesendet, und jetzt ist es blockiert. Die Anmeldung ist mit Fehlermeldung fehlgeschlagen:
Something went wrong. Please wait a moment and try again.Stellen Sie also sicher, dass Sie wissen, was Sie tun ~
const res = await client . addChatBreak ( botNickName ) ; const res = await client . deleteMessage ( messageIds ) ; const res = await client . purgeAllMessage ( ) ;Löschen Sie alle Bot -Nachrichten, um zu klicken, um auf Poe.com> Einstellungen> alle Nachrichten zu löschen
const history = await client . getHistory ( botNickName , count ) ; const history = await client . getBotByNickName ( botNickName , retryCount , retryIntervalMs ) ; const history = await client . getNextData ( ) ;Kann
poe-formkey/buildId/latest messages(wie die neuesten 5 Nachrichten) undstartCursor(StartCursor zum Abholen von Verlaufsnachrichten) /availableBots/x-forwarded-for/ ......
await client . updateAllBotInfo ( )Diese Funktion holt POE-Formkey, BuildID, neueste Nachrichten, StartCursor und alle Bots-Info (Chatid / ID, diese beiden Parameter werden verwendet).
Diese Funktion setzt
poe-formkey/cookie/buildId/${botDisplayName}_chatIdund${botDisplayName}_idto .env- Datei (diese Parameter sind gleich wie Cookies und müssen nicht jedes Mal angefordert werden).Wenn Sie das nächste Mal eine MSG an einen Bot senden, müssen Sie keine Bot -Informationen abrufen. Der Client wird benötigte Parameter wie
buildIdvon der lokalen .Env -Datei.
Beispiel - sendMessage.ts
Beispiel - sendMessage.ts
Beispiel - Proxy.ts
Beispiel - History.ts
Beispiel - FetchAllneededInfo.ts
MIT