国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

node+微信+chatgpt 機(jī)器人集成

這篇具有很好參考價(jià)值的文章主要介紹了node+微信+chatgpt 機(jī)器人集成。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?node 調(diào)用chatgpt,web前端,前端,javascript,vue.js文章來源地址http://www.zghlxwxcb.cn/news/detail-764726.html

const { WechatyBuilder, ScanStatus, log } = require('wechaty')
const qrTerminal = require('qrcode-terminal')

const defaultMessage = async ({ msg, bot }) => {
  const contact = msg.talker() 
  //const receiver = msg.to() 
  let content = msg.text() 
  const room = msg.room() 
  //const roomName = (await room?.topic()) || null // 
  const alias = (await contact.alias()) || (await contact.name()) 
  const remarkName = await contact.alias() 
  const name = await contact.name() 
  const isText = msg.type() === bot.Message.Type.Text
  const isRoom = true // roomWhiteList.includes(roomName) || roomName?.includes('gpt')
  // const isAlias =
  //   aliasWhiteList.includes(remarkName) ||
  //   aliasWhiteList.includes(name) ||
  //   remarkName.includes('gpt')
  const isAlias = true
  console.log('remarkName', remarkName)
  console.log('name', name)
  console.log('alias', alias)
  console.log('isAlias', isAlias)
  console.log(JSON.stringify(msg))

  if (isText) {
    content = content.trim()
    if (content.length > 4) {
      let startContent = content.slice(0, 4)
      startContent = startContent.toLowerCase()
      let message = ''
      let gptVersion = ''
      if (
        startContent === 'gpt,' ||
        startContent === 'gpt,' ||
        startContent === 'gpt ' ||
        startContent === 'gpt:' ||
        startContent === 'gpt:'
      ) {
        message = content.slice(4)
        gptVersion = '3.5'
      }

      let startContent2 = content.slice(0, 5)
      startContent = startContent.toLowerCase()
      if (
        startContent2 === 'gpt4,' ||
        startContent2 === 'gpt4,' ||
        startContent2 === 'gpt4 ' ||
        startContent2 === 'gpt4:' ||
        startContent2 === 'gpt4:'
      ) {
        message = content.slice(5)
        gptVersion = '4'
      }

      try {
        if (isRoom && room && message && gptVersion) {
          let result = await new Promise((resolve) => {
            chatAdd(
              {
                body: {
                  alias,
                  message,
                  gptVersion,
                  isRoom: true,
                  apiKeyValue: apiKey,
                },
                headers: {
                  version: 'wx',
                  platformos: 'wx',
                },
              },
              {
                send: (res) => {
                  resolve(res)
                },
              }
            )
          })
          if (result.code === 200) {
            await room.say(result.data.robotMessage)
          } else {
            await room.say(result.message)
          }
        } else if (isAlias && !room && message && gptVersion) {
          let result = await new Promise((resolve) => {
            chatAdd(
              {
                body: {
                  alias,
                  message,
                  gptVersion,
                  isRoom: false,
                  apiKeyValue: apiKey,
                },
                headers: {
                  version: 'wx',
                  platformos: 'wx',
                },
              },
              {
                send: (res) => {
                  resolve(res)
                },
              }
            )
          })
          if (result.code === 200) {
            let day = moment(Date.now()).format('YYYY-MM-DD')
            let wxUserObjKey = alias + day
            if (result.data.isBindWX) {
              await contact.say(`${result.data.robotMessage}`)
            } else if ( result.data.isBindWX === false && wxUserObj && wxUserObj[wxUserObjKey] <= 3) {
              await contact.say(`${result.data.robotMessage}`)
            } else {
              await contact.say(`${result.data.robotMessage}

### 溫馨提示        
`)
            }
          } else {
            await contact.say(result.message)
          }
        } else {
          console.log('提問錯(cuò)誤1')
        }
      } catch (e) {
        console.error(e)
      }
    } else {
      console.log('長短太短')
    }
  } else {
    console.log('不是文本')
  }
}

const chatWx = async (req, res) => {
  try {
    // 掃碼
    const onScan = (qrcode, status) => {
      let qrcodeImageUrl
      if (status === ScanStatus.Waiting || status === ScanStatus.Timeout) {
        qrTerminal.generate(qrcode, { small: true })
        qrcodeImageUrl = [
          'https://api.qrserver.com/v1/create-qr-code/?data=',
          encodeURIComponent(qrcode),
        ].join('')
        console.log('onScan:', qrcodeImageUrl, ScanStatus[status], status)
      } else {
        log.info('onScan: %s(%s)', ScanStatus[status], status)
      }

      console.log(
        `Scan QR Code to login: ${status}\nhttps://wechaty.js.org/qrcode/${encodeURIComponent(
          qrcode
        )}`
      )
      console.log(qrcode)
      res.send({
        code: 200,
        data: {
          qrcode1: `https://wechaty.js.org/qrcode/${encodeURIComponent(
            qrcode
          )}`,
          qrcode,
          qrcodeImageUrl,
        },
        message: '成功',
      })
      return
    }

    // 登錄
    const onLogin = (user) => {
      console.log(`${user} has logged in`)
      const date = new Date()
      console.log(`Current time:${date}`)
      console.log(`Automatic robot chat mode has been activated`)
    }

    // 登出
    const onLogout = (user) => {
      console.log(`${user} has logged out`)
    }

    // 收到好友請求
    const onFriendShip = async (friendship) => {
      const frienddShipRe = /chatgpt|chat/
      if (friendship.type() === 2) {
        if (frienddShipRe.test(friendship.hello())) {
          await friendship.accept()
        }
      }
    }
    const onMessage = async (msg) => {
      await defaultMessage({ msg, bot })
    }

    let bot
    // eslint-disable-next-line
    if (global.isLocal && false) {
      const CHROME_BIN = process.env.CHROME_BIN
        ? { endpoint: process.env.CHROME_BIN }
        : {}
      bot = WechatyBuilder.build({
        name: 'WechatEveryDay',
        puppet: 'wechaty-puppet-wechat4u', 
        //puppet: 'wechaty-puppet-wechat', 
        puppetOptions: {
          uos: true,
          ...CHROME_BIN,
        },
      })
    } else {
      bot = WechatyBuilder.build()
    }
    // 掃碼
    bot.on('scan', onScan)
    // 登錄
    bot.on('login', onLogin)
    // 登出
    bot.on('logout', onLogout)
    // 收到消息
    bot.on('message', onMessage)
    // 添加好友
    bot.on('friendship', onFriendShip)
    bot
      .start()
      .then(() => console.log('Start to log in wechat...'))
      .catch((e) => console.error(e))
  } catch (error) {
    console.log(error)
  }
}

到了這里,關(guān)于node+微信+chatgpt 機(jī)器人集成的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Nas搭建ai繪畫 將Midjourney集成到微信機(jī)器人

    Nas搭建ai繪畫 將Midjourney集成到微信機(jī)器人

    ChatGPT狂飆160天,世界已經(jīng)不是之前的樣子。 新建了人工智能中文站https://ai.weoknow.com 每天給大家更新可用的國內(nèi)可用chatGPT資源 ?發(fā)布在https://it.weoknow.com/ 之前我們搭建過微信的chatgpt聊天機(jī)器人,也搭建過web端能實(shí)現(xiàn)chatgpt和mj畫圖的應(yīng)用(Chatgpt Midjourney畫圖 gpts 語音識別 一個(gè)

    2024年03月13日
    瀏覽(24)
  • 一個(gè)開源免費(fèi)功能強(qiáng)大的Chatgpt Web程序 搭建自己的Chatgpt機(jī)器人

    一個(gè)開源免費(fèi)功能強(qiáng)大的Chatgpt Web程序 搭建自己的Chatgpt機(jī)器人

    ChatGPT Web Midjourney Proxy 是我用過的幾款ChatGPT Web程序當(dāng)中我覺得最好用的一款,還支持midjourney的圖片生成 ai換臉和很多的ChatGPT store。 ? 原chatgpt web 所有功能 ? chatgpt web 支持自定義api key、base_url ? midjourney 文生圖 ? midjourney 墊圖+文生圖 ? midjourney 圖變 U1到U4 、 V1到V4、重繪

    2024年03月23日
    瀏覽(31)
  • ChatGPT 微信機(jī)器人原理解析(一):如何接入 ChatGPT API

    本文在?3?月?29?日首發(fā)于我的“職場圈”知識星球: 本文是 ChatGPT 微信機(jī)器人的第三篇付費(fèi)文章。之前的兩篇付費(fèi)文章為: 手把手帶你搭建 ChatGPT 微信機(jī)器人! 把 ChatGPT 微信機(jī)器人一鍵部署到免費(fèi)服務(wù)器! 后續(xù)的付費(fèi)文章包括但不限于: ChatGPT?微信機(jī)器人背后的原理解析

    2024年02月11日
    瀏覽(21)
  • 10分鐘!快速部署ChatGPT微信公眾號機(jī)器人!

    10分鐘!快速部署ChatGPT微信公眾號機(jī)器人!

    在上面公眾號后臺就可以免費(fèi)體驗(yàn)gpt機(jī)器人 馬上五一啦,很多小伙伴都要出去玩了,出去玩沒有GPT怎么行呢!有沒有一個(gè)簡單的,可以24小時(shí)玩的GPT的! 前面我們教過大家部署微信機(jī)器人做24小時(shí)的助理,還有chatgpt web版本! 今天我們來教大家第三招,把gpt部署到微信公眾號

    2024年02月08日
    瀏覽(27)
  • 3分鐘自定義你的chatGPT聊天微信機(jī)器人

    3分鐘自定義你的chatGPT聊天微信機(jī)器人

    最近c(diǎn)hatGPT實(shí)在太火了,不談下都不好意思說自己在技術(shù)圈混了,剛好前段時(shí)間公司里面在舉辦一個(gè)企業(yè)微信機(jī)器人比賽,然后就用注冊了openai的一個(gè)賬號,用python寫了一個(gè)玩玩,但是想想不過癮只能公司內(nèi)部體驗(yàn),于是乎又花了2個(gè)小時(shí)寫了一個(gè)基于微信的聊天機(jī)器人,這里

    2024年02月01日
    瀏覽(20)
  • 【Python微信機(jī)器人】第三篇:使用ctypes調(diào)用進(jìn)程函數(shù)和讀取內(nèi)存結(jié)構(gòu)體

    【Python微信機(jī)器人】第三篇:使用ctypes調(diào)用進(jìn)程函數(shù)和讀取內(nèi)存結(jié)構(gòu)體

    目前的系列目錄(后面會根據(jù)實(shí)際情況變動(dòng)): 在windows11上編譯python 將python注入到其他進(jìn)程并運(yùn)行 注入Python并使用ctypes主動(dòng)調(diào)用進(jìn)程內(nèi)的函數(shù)和讀取內(nèi)存結(jié)構(gòu)體 使用匯編引擎調(diào)用進(jìn)程內(nèi)的任意函數(shù) 利用beaengine反匯編引擎的c接口寫一個(gè)pyd庫,用于實(shí)現(xiàn)inline hook 利用beaengine反匯編

    2024年02月06日
    瀏覽(26)
  • 王炸!10分鐘把ChatGPT部署成24小時(shí)微信機(jī)器人!

    王炸!10分鐘把ChatGPT部署成24小時(shí)微信機(jī)器人!

    ChatGPT最近大家都是玩的風(fēng)生水起,不亦樂乎!各種應(yīng)用層出不窮,其中最接地氣, 也是最受小白歡迎的就是wx機(jī)器人 ,因?yàn)樗芨⑿派钊肴诤? 詳細(xì)看文末專欄 用Python+ChatGPT打造超強(qiáng)的微信機(jī)器人! ),直接使用!但是如果部署在自己的電腦上肯定不能做24小時(shí)的助理!怎

    2023年04月22日
    瀏覽(16)
  • 基于chatgpt-on-wechat的微信個(gè)人對話機(jī)器人搭建

    基于chatgpt-on-wechat的微信個(gè)人對話機(jī)器人搭建

    現(xiàn)在gpt很火,git中大佬們都創(chuàng)建了很多高星項(xiàng)目,我這里選用了chatgpt-on-wechat(項(xiàng)目地址:https://github.com/zhayujie/chatgpt-on-wechat),這個(gè)項(xiàng)目在擴(kuò)展時(shí)也很舒服,大家可以去拉下來看看,學(xué)習(xí)源碼才能方便后續(xù)的擴(kuò)展 國內(nèi)服務(wù):前置條件需要走代理(這個(gè)不方便說,項(xiàng)目中也有對應(yīng)的方案,大家

    2024年02月13日
    瀏覽(27)
  • 【ChatGPT】基于GO語言實(shí)現(xiàn)的微信聊天和圖片生成機(jī)器人

    ??基于GO語言實(shí)現(xiàn)的微信聊天和圖片生成機(jī)器人?? 個(gè)人微信接入ChatGPT,實(shí)現(xiàn)和GPT機(jī)器人互動(dòng)聊天,同時(shí)支持基于文本生成圖像。支持私聊回復(fù)和群聊艾特回復(fù)。 GitHub源代碼地址 實(shí)現(xiàn)功能 GPT機(jī)器人模型熱度可配置 提問增加上下文指令清空上下文 DreamStudio圖像生成模型參數(shù)可

    2024年02月09日
    瀏覽(26)
  • 17行代碼用python對接openai的api實(shí)現(xiàn)chatgpt微信對話機(jī)器人

    17行代碼用python對接openai的api實(shí)現(xiàn)chatgpt微信對話機(jī)器人

    itchat python依賴下載 這里推薦這個(gè)。鏈接:衡天云

    2024年02月01日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包