larksuite / node-sdk

larksuite open sdk for nodejs
MIT License
143 stars 29 forks source link

在next中使用,发送信息的回调会重复触发,下面的代码简单概括一下就是,我在飞书发的消息 会翻译 并转发到discord #93

Open wuzikai18 opened 3 months ago

wuzikai18 commented 3 months ago

const eventDispatcher = new lark.EventDispatcher({ encryptKey: '7jCsz9owNdZpIGG2EPosPdsfSRzPm3CO', }).register({ 'im.message.receive_v1': async (data) => { console.log(data, 'messageData'); const message = JSON.parse(data.message.content).text; console.log(message, 'message'); const payload = { prompt: message, } const response = await translate(payload); const translate_message = response; console.log(translate_message,'translate_message') const res = await fetch("https://discord.com/api/webhooks/1257248306111975536/G2xo9ggcRB89ekB-rhB4R4_VIfQVH2qMPZszUtZQyMXR-wV-ep4OBOM2zuCD33fXgi24",{ method: "POST", body: JSON.stringify({"content":translate_message,"embeds":[]}), headers: { "Content-Type": "application/json", }, agent: new HttpsProxyAgent(proxy) })

  // const open_chat_id = data.message.chat_id;
  // await client.im.message.create({
  //     params: {
  //         receive_id_type: 'chat_id',
  //     },
  //     data: {
  //         receive_id: open_chat_id,
  //         content: JSON.stringify({text: 'hello world'}),
  //         msg_type: 'text'
  //     },
  // });
  return res;

}, });

// @ts-ignore export async function POST(request: Request) {

// console.log(request,"request")
const body = (await request.json())
// console.log(body,"request.body")
const value = await eventDispatcher.invoke(body,{needCheck: false});

return new Response(value);

}

mazhe-nerd commented 3 months ago

你好同学,可以提供一个可复现的demo吗?上面的代码看不出问题