Un client Node.js ingéré en inverse pour PoE de Quora.
Prise en charge: récupérez les informations nécessaires et écrivez dans le fichier .env | Envoyer des messages à différents bot | Configurer des procurations | Messages effacer / supprime / purge | Obtenez des messages historiques | Obtenez des informations sur le bot | Obtenez les prochaines données
Je travaille toujours là-dessus, donc ce n'est peut-être pas stable. Si vous rencontrez des problèmes, veuillez créer un problème.
npm install poe-node-apiexigence:
- nœud> = 18
- .env: Pour stocker les paramètres nécessaires comme
poe-formkey/cookie/buildId/ Bodid .....
Obtenez des cookies de Poe.com: F12 / Inspect, Application> Cookies> https://poe.com> PB
Créer un fichier .env dans votre chemin racine de projet et ajouter du cookie au fichier .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).Comment créer un client:
import { PoeClient } from "poe-node-api" ;
const client = new PoeClient ( { logLevel : 'debug' } ) ;Comment init client
await client . init ( )buildId / poe-formkey et les écrasera dans le fichier «.env» local.Pour éviter les conflits, lorsque vous utilisez plusieurs compte, vous devez définir
rewriteToLocalEnvFilesur FALSE
Bot surnoms
botnickname <==> botdisplayname
- A2 <==> Claude-Instant
- a2_2 <==> Claude +
- castor <==> gpt-4
- capybara <==> sage
- Nutria <==> Dragonfly
- chinchilla <==> chatppt
- Hutia <==> neevaai
- Votre propre 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 } ` ) } )Texte: chaîne
botnickname: chaîne
Withchatbreak: booléen
rappel: (résultat: chaîne) => void
AVERTISSEMENT : Trop de demandes dans une minute entraîneront un compte (gratuit) bloqué !!!!!
J'avais envoyé environ 20 messages en une minute, et maintenant il est bloqué. La connexion a échoué avec le message d'erreur:
Something went wrong. Please wait a moment and try again.Alors assurez-vous de savoir ce que vous faites ~
const res = await client . addChatBreak ( botNickName ) ; const res = await client . deleteMessage ( messageIds ) ; const res = await client . purgeAllMessage ( ) ;Supprimer tous les messages BOT, équivaut à cliquer sur Poe.com> Paramètres> Supprimer tous les messages
const history = await client . getHistory ( botNickName , count ) ; const history = await client . getBotByNickName ( botNickName , retryCount , retryIntervalMs ) ; const history = await client . getNextData ( ) ;Peut obtenir
poe-formkey/buildId/latest messages(comme les derniers 5 messages) etstartCursor(utilisez StartCursor pour récupérer les messages historiques) /availableBots/x-forwarded-for/ ...
await client . updateAllBotInfo ( )Cette fonction va récupérer Poe-FormKey, BuildId, les derniers messages, StartCursor et All Bots Info (Chatid / ID, ces deux paramètres seront utilisés).
Cette fonction définira
poe-formkey/cookie/buildId/${botDisplayName}_chatIdet${botDisplayName}_idau fichier .env (ces paramètres sont les mêmes que les cookies et n'ont pas besoin d'être demandés à chaque fois).La prochaine fois que vous enverrez un MSG à n'importe quel bot, n'aura plus besoin de récupérer les informations de bot, le client obtiendra les paramètres nécessaires comme
buildIdà partir du fichier .env local.
Exemple - SendMessage.ts
Exemple - SendMessage.ts
Exemple - proxy.ts
Exemple - History.ts
Exemple - FetchallNeedEdInfo.ts
Mit