عميل Node.js عكس Node.js لـ Quora's Poe.
الدعم: جلب المعلومات المطلوبة واكتب إلى ملف .env | إرسال الرسائل إلى بوت مختلفة | إعداد الوكلاء | واضحة/حذف/تطهير الرسائل | الحصول على رسائل التاريخ | احصل على معلومات بوت | احصل على البيانات التالية
ما زلت أعمل على هذا ، لذلك قد لا يكون مستقرًا. إذا تلبية أي مشاكل ، يرجى إنشاء مشكلة.
npm install poe-node-apiمتطلبات:
- العقدة> = 18
- .ENV: لتخزين params اللازمة مثل
poe-formkey/cookie/buildId/ botid .....
احصل على ملف تعريف الارتباط من poe.com: F12/Inspect ، Application> ملفات تعريف الارتباط> https://poe.com> PB
إنشاء ملف .env في مسار جذر المشروع الخاص بك ، وأضف ملف تعريف الارتباط إلى ملف .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).كيفية إنشاء عميل:
import { PoeClient } from "poe-node-api" ;
const client = new PoeClient ( { logLevel : 'debug' } ) ;كيف تبدأ العميل
await client . init ( )buildId / poe-formkey وكتابةها في ملف .env "المحلي.لمنع النزاعات ، عند استخدام حساب متعدد ، يجب عليك تعيين
rewriteToLocalEnvFile
ألقاب الروبوت
botnickname <==> botdisplayName
- A2 <==> Claude-Stust
- A2_2 <==> Claude+
- بيفر <==> GPT-4
- Capybara <==> حكيم
- Nutria <==> Dragonfly
- Chinchilla <==> chatgpt
- هوتيا <==> neevaai
- الروبوت الخاص بك
/**
* 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 } ` ) } )النص: سلسلة
botnickname: سلسلة
withchatbreak: منطقية
رد الاتصال: (النتيجة: سلسلة) => باطلة
تحذير : سيؤدي الكثير من الطلبات في غضون دقيقة واحدة إلى حظر حساب (مجاني) !!!!!
لقد أرسلت حوالي 20 رسالة في دقيقة واحدة ، والآن تم حظرها. فشل تسجيل الدخول مع رسالة الخطأ:
Something went wrong. Please wait a moment and try again.لذا تأكد من أنك تعرف ما تفعله ~
const res = await client . addChatBreak ( botNickName ) ; const res = await client . deleteMessage ( messageIds ) ; const res = await client . purgeAllMessage ( ) ;حذف جميع رسائل BOT ، تساوي النقر فوق poe.com> الإعدادات> حذف جميع الرسائل
const history = await client . getHistory ( botNickName , count ) ; const history = await client . getBotByNickName ( botNickName , retryCount , retryIntervalMs ) ; const history = await client . getNextData ( ) ;يمكن الحصول على
poe-formkey/buildId/latest messages(مثل أحدث 5 رسائل) وstartCursor(استخدم StartCursor لجلب رسائل السجل) /availableBots/x-forwarded-for/ ......
await client . updateAllBotInfo ( )ستجلب هذه الوظيفة poe-formkey و BuildId وأحدث الرسائل و STARTCURSOR وجميع معلومات BOTS (Chatid / ID ، وسيتم استخدام هذا المعاملان).
ستضع هذه الوظيفة
poe-formkey/cookie/buildId/${botDisplayName}_chatIdو${botDisplayName}_idإلى ملف .env (هذه المعلمات هي نفس ملفات تعريف الارتباط ولا تحتاج إلى طلبها في كل مرة).في المرة القادمة التي ترسل فيها MSG إلى أي روبوت ، لن تحتاج إلى إحضار معلومات BOT مرة أخرى ، سيحصل العميل على params مثل
buildIdمن ملف .env المحلي.
مثال - sendMessage.TS
مثال - sendMessage.TS
مثال - proxy.ts
مثال - التاريخ
مثال - fetchallneededinfo.ts
معهد ماساتشوستس للتكنولوجيا