ไคลเอนต์ Node.js แบบย้อนกลับสำหรับ Poe ของ Quora
การสนับสนุน: ดึงข้อมูลที่จำเป็นและเขียนไปยังไฟล์. ENV | ส่งข้อความไปยังบอทอื่น ตั้งค่าพร็อกซี | Clear/Delete/Purge Messages | รับข้อความประวัติ รับข้อมูลบอท | รับข้อมูลถัดไป
ฉันยังคงทำสิ่งนี้อยู่ดังนั้นมันอาจจะไม่มั่นคง หากคุณพบปัญหาใด ๆ โปรดสร้างปัญหา
npm install poe-node-apiความต้องการ:
- โหนด> = 18
- .ENV: เพื่อจัดเก็บพารามิเตอร์ที่จำเป็นเช่น
poe-formkey/cookie/buildId/ botid .....
รับคุกกี้จาก poe.com: f12/ตรวจสอบแอปพลิเคชัน> คุกกี้> 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-Instant
- A2_2 <==> Claude+
- Beaver <==> GPT-4
- Capybara <==> Sage
- nutria <==> แมลงปอ
- Chinchilla <==> chatgpt
- Hutia <==> 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 ( ) ;ลบข้อความบอททั้งหมดเท่ากับคลิก poe.com> การตั้งค่า> ลบข้อความทั้งหมด
const history = await client . getHistory ( botNickName , count ) ; const history = await client . getBotByNickName ( botNickName , retryCount , retryIntervalMs ) ; const history = await client . getNextData ( ) ;สามารถรับ
latest messagespoe-formkey/buildId/ ล่าสุด (เช่นข้อความล่าสุด 5 ข้อความ) และstartCursor(ใช้ startCursor เพื่อดึงข้อความประวัติ) /availableBots/x-forwarded-for/ ......
await client . updateAllBotInfo ( )ฟังก์ชั่นนี้จะดึงข้อมูล Poe-Formkey, buildId, ข้อความล่าสุด, startCursor และข้อมูลบอททั้งหมด (chatid / id, พารามิเตอร์สองตัวนี้จะถูกใช้)
ฟังก์ชั่นนี้จะตั้งค่า
poe-formkey/cookie/buildId/${botDisplayName}_chatIdและ${botDisplayName}_idไปยังไฟล์ . ENV (พารามิเตอร์เหล่านี้เหมือนกับคุกกี้และไม่จำเป็นต้องขอทุกครั้ง)ครั้งต่อไปที่คุณส่งผงชูรสไปยังบอทใด ๆ จะไม่จำเป็นต้องดึงข้อมูลบอทอีกครั้งไคลเอนต์จะได้รับพารามิเตอร์ที่จำเป็นเช่น
buildIdจากไฟล์. ENV ในท้องถิ่น
ตัวอย่าง - sendMessage.ts
ตัวอย่าง - sendMessage.ts
ตัวอย่าง - Proxy.ts
ตัวอย่าง - history.ts
ตัวอย่าง - fetchallneededInfo.ts
มิกซ์