From f173af8104987dcaf0bb1be14740e122ca169ce6 Mon Sep 17 00:00:00 2001 From: linghaihui <75124771@qq.com> Date: Wed, 22 Mar 2023 15:25:55 +0800 Subject: [PATCH] initial commit --- .gitignore | 5 + README.md | 1 + bingchat/README.md | 3 + bingchat/app.js | 35 +++ bingchat/app.json | 21 ++ bingchat/app.wxss | 4 + bingchat/components/chatbox/index.js | 94 +++++++ bingchat/components/chatbox/index.json | 4 + bingchat/components/chatbox/index.wxml | 22 ++ bingchat/components/chatbox/index.wxss | 77 ++++++ bingchat/config.js | 1 + bingchat/image/bing-avatar.png | Bin 0 -> 39070 bytes bingchat/image/person.jpeg | Bin 0 -> 5155 bytes bingchat/pages/index/index.js | 222 ++++++++++++++++ bingchat/pages/index/index.json | 4 + bingchat/pages/index/index.wxml | 4 + bingchat/pages/index/index.wxss | 0 bingchat/project.config.json | 27 ++ bingchat/project.private.config.json | 9 + bingchat/sitemap.json | 7 + bingchat/snapshoot.png | Bin 0 -> 280409 bytes new-bing/Dockerfile | 13 + new-bing/EdgeGPT.py | 336 ++++++++++++++++++++++++ new-bing/Makefile | 6 + new-bing/README.md | 3 + new-bing/app.py | 108 ++++++++ new-bing/env.example | 5 + new-bing/pyrightconfig.json | 1 + new-bing/requirements.txt | 5 + new-bing/start.sh | 3 + wechatbot/.gitignore | 1 + wechatbot/Dockerfile | 9 + wechatbot/Makefile | 3 + wechatbot/README.md | 31 +++ wechatbot/bootstrap/bootstrap.go | 31 +++ wechatbot/config.json.example | 5 + wechatbot/config/config.go | 57 ++++ wechatbot/go.mod | 5 + wechatbot/go.sum | 2 + wechatbot/gpt/bing.go | 85 ++++++ wechatbot/gpt/bing_test.go | 15 ++ wechatbot/gpt/gpt.go | 92 +++++++ wechatbot/handlers/group_msg_handler.go | 78 ++++++ wechatbot/handlers/handler.go | 54 ++++ wechatbot/handlers/user_msg_handler.go | 65 +++++ wechatbot/main.go | 9 + 46 files changed, 1562 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 bingchat/README.md create mode 100644 bingchat/app.js create mode 100644 bingchat/app.json create mode 100644 bingchat/app.wxss create mode 100644 bingchat/components/chatbox/index.js create mode 100644 bingchat/components/chatbox/index.json create mode 100644 bingchat/components/chatbox/index.wxml create mode 100644 bingchat/components/chatbox/index.wxss create mode 100644 bingchat/config.js create mode 100644 bingchat/image/bing-avatar.png create mode 100644 bingchat/image/person.jpeg create mode 100644 bingchat/pages/index/index.js create mode 100644 bingchat/pages/index/index.json create mode 100644 bingchat/pages/index/index.wxml create mode 100644 bingchat/pages/index/index.wxss create mode 100644 bingchat/project.config.json create mode 100644 bingchat/project.private.config.json create mode 100644 bingchat/sitemap.json create mode 100644 bingchat/snapshoot.png create mode 100644 new-bing/Dockerfile create mode 100644 new-bing/EdgeGPT.py create mode 100644 new-bing/Makefile create mode 100644 new-bing/README.md create mode 100644 new-bing/app.py create mode 100644 new-bing/env.example create mode 100644 new-bing/pyrightconfig.json create mode 100644 new-bing/requirements.txt create mode 100644 new-bing/start.sh create mode 100644 wechatbot/.gitignore create mode 100644 wechatbot/Dockerfile create mode 100644 wechatbot/Makefile create mode 100644 wechatbot/README.md create mode 100644 wechatbot/bootstrap/bootstrap.go create mode 100644 wechatbot/config.json.example create mode 100644 wechatbot/config/config.go create mode 100644 wechatbot/go.mod create mode 100644 wechatbot/go.sum create mode 100644 wechatbot/gpt/bing.go create mode 100644 wechatbot/gpt/bing_test.go create mode 100644 wechatbot/gpt/gpt.go create mode 100644 wechatbot/handlers/group_msg_handler.go create mode 100644 wechatbot/handlers/handler.go create mode 100644 wechatbot/handlers/user_msg_handler.go create mode 100644 wechatbot/main.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24c8763 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +venv/ +__pycache__/ +cookie*.json +env +config.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..f19ec99 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +本项目实现了[New Bing 聊天的接口](./new-bing),并做了一个简单的[小程序](./bingchat),同时将`chatgpt 3.5`和`New Bing`集成到[微信](./wechatbot)。 diff --git a/bingchat/README.md b/bingchat/README.md new file mode 100644 index 0000000..e4fcab0 --- /dev/null +++ b/bingchat/README.md @@ -0,0 +1,3 @@ +# New Bing Bot + + diff --git a/bingchat/app.js b/bingchat/app.js new file mode 100644 index 0000000..2c8b352 --- /dev/null +++ b/bingchat/app.js @@ -0,0 +1,35 @@ +import SERVER_HOST from '../../config'; + +App({ + onShow: function () {}, + onLaunch: function () { + this.getSid(); + }, + globalData: {}, + getSid: function () { + var that = this; + if (!this.globalData.sid) { + var sid = wx.getStorageSync('sid1'); + if (!sid) { + wx.login({ + success: (res) => { + wx.request({ + url: SERVER_HOST + '/bing/openid', + data: { + code: res.code, + }, + success: (res) => { + that.globalData.sid = res.data.data.openid; + wx.setStorageSync('sid1', that.globalData.sid); + }, + }); + }, + }); + } else { + this.globalData.sid = sid; + wx.setStorageSync('sid1', this.globalData.sid); + } + } + return this.globalData.sid ? this.globalData.sid : ''; + }, +}); diff --git a/bingchat/app.json b/bingchat/app.json new file mode 100644 index 0000000..1998d22 --- /dev/null +++ b/bingchat/app.json @@ -0,0 +1,21 @@ +{ + "pages": [ + "pages/index/index" + ], + "useExtendedLib": { + "weui":true + }, + "usingComponents": { + "chat-box":"components/chatbox/index" + }, + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#ffffff", + "navigationBarTitleText": "New Bing Bot 🤖", + "navigationBarTextStyle": "black" + }, + "sitemapLocation": "sitemap.json", + "networkTimeout": { + "request": 1800000 + } +} diff --git a/bingchat/app.wxss b/bingchat/app.wxss new file mode 100644 index 0000000..67efa87 --- /dev/null +++ b/bingchat/app.wxss @@ -0,0 +1,4 @@ +page { + background-color: #fff; + font-size: 28rpx; +} diff --git a/bingchat/components/chatbox/index.js b/bingchat/components/chatbox/index.js new file mode 100644 index 0000000..d314c6d --- /dev/null +++ b/bingchat/components/chatbox/index.js @@ -0,0 +1,94 @@ +const app = getApp(); + +Component({ + options: { + addGlobalClass: true, + multipleSlots: true, + }, + properties: {}, + pageLifetimes: { + show: function () { + this.initMessageHistory(); + }, + }, + lifetimes: { + attached() { + var that = this; + app.globalData.cht = that; + //that.initMessageHistory(); + wx.getSystemInfo({ + success: function (res) { + that.setData({ + systemInfo: res, + }); + }, + }); + }, + detached() { + try { + } catch (error) {} + }, + }, + data: { + chatList: [], + }, + methods: { + initMessageHistory() { + var that = this; + var data = wx.getStorageSync("chatList"); + data = data ? data : []; + data.forEach((v) => { + if (v["suggests"] === undefined) { + v["suggests"] = []; + } + }); + if (data.length > 0) { + that.setData({ + chatList: data, + }); + } + }, + clearChat: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + var data = this.data.chatList; + wx.showModal({ + content: "是否删除该条记录?", + complete: (res) => { + if (res.confirm) { + data.splice(index, 1); + that.setData({ + chatList: data, + }); + wx.setStorage({ + key: "chatList", + data: data, + }); + } + }, + }); + }, + copyContent: function (e) { + var index = e.currentTarget.dataset.index; + var content = this.data.chatList[index].originContent; + wx.setClipboardData({ + data: content, + success: function () { + wx.showToast({ + title: "复制成功", + }); + }, + }); + }, + suggestSubmit: function (e) { + var suggest = e.currentTarget.dataset.suggest; + this.triggerEvent( + "suggestSubmit", + { + suggest, + }, + {} + ); + }, + }, +}); diff --git a/bingchat/components/chatbox/index.json b/bingchat/components/chatbox/index.json new file mode 100644 index 0000000..a89ef4d --- /dev/null +++ b/bingchat/components/chatbox/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} diff --git a/bingchat/components/chatbox/index.wxml b/bingchat/components/chatbox/index.wxml new file mode 100644 index 0000000..ebe8ad0 --- /dev/null +++ b/bingchat/components/chatbox/index.wxml @@ -0,0 +1,22 @@ +输入问题开始和New Bing聊天吧~ + + + + + + {{item.dt}} + {{item.originContent}} + + {{suggest}} + + + + + + {{item.dt}} + {{item.originContent}} + + + + + \ No newline at end of file diff --git a/bingchat/components/chatbox/index.wxss b/bingchat/components/chatbox/index.wxss new file mode 100644 index 0000000..b98de25 --- /dev/null +++ b/bingchat/components/chatbox/index.wxss @@ -0,0 +1,77 @@ +.chat { + display: flex; + flex-direction: column; +} + +.chat-item { + display: flex; + padding: 10rpx 10rpx 35rpx; + flex-direction: row; +} + +.left { + justify-content: flex-start; +} + +.right { + justify-content: flex-end; +} + +.avatar { + width: 80rpx; + height: 80rpx; + border-radius: 50%; + background-color: rgb(224, 226, 232) +} + +.dt { + font-size: 24rpx; + color: rgb(180, 187, 196) +} + +.content { + border-radius: 16rpx; + padding: 10rpx 16rpx 10rpx 16rpx; + word-break: break-all; + white-space: pre-wrap; +} + +.bg-green { + background-color: #d2f9d1; +} + +.bg-white { + background-color: #f4f6f8; +} + +.chat-box { + display: flex; + flex-direction: column; + max-width: 84%; +} + +.suggest { + display: flex; + justify-content: flex-start; + margin-top: 8rpx; + flex-wrap: wrap; +} +.suggest-item{ + background-color: #f4f6f8; + display: inline-block; + padding: 5rpx 10rpx 5rpx 10rpx; + border-radius: 10rpx; + margin-right: 16rpx; + color: rgb(180, 187, 196); + margin-bottom: 10rpx; + font-size: 25rpx; +} +@keyframes blink { + from { display: 1.0; } + to { opacity: 0.0; } +} + +.blinking { + animation: blink 1.5s ease-in-out infinite; + display: block; +} \ No newline at end of file diff --git a/bingchat/config.js b/bingchat/config.js new file mode 100644 index 0000000..b742d7e --- /dev/null +++ b/bingchat/config.js @@ -0,0 +1 @@ +export default SERVER_HOST = 'https://example.com'; diff --git a/bingchat/image/bing-avatar.png b/bingchat/image/bing-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..a7db7d288358c81bce1ff035e595ed173cc4a520 GIT binary patch literal 39070 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 O$ioO~0zvCNj`|<|x&#CO literal 0 HcmV?d00001 diff --git a/bingchat/image/person.jpeg b/bingchat/image/person.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9be9587ff23cc0efbf6e9d7222959950bc4b8d2e GIT binary patch literal 5155 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 h#S?a2jck0H`CII}7`` 1) { + cht.setData({ + scrollId: "item" + (cht.data.chatList.length - 2), + }); + } + }, + submitContent: function (content) { + var that = this; + const cht = app.globalData.cht; + content = this.processContent(content); + cht.data.chatList.push({ + type: "man", + avatarUrl: personAvatar, + dt: getNow(), + originContent: content, + }); + cht.setData({ + chatList: cht.data.chatList, + }); + that.setData({ + content: "", + }); + if (content == "重新对话!") { + this.resetConversation(); + cht.data.chatList.push({ + type: "rob", + avatarUrl: robAvatar, + dt: getNow(), + originContent: "现在我们可以开始新的对话😊", + suggests: [], + }); + cht.setData({ + chatList: cht.data.chatList, + }); + that.scrollTo(cht); + return; + } else { + cht.data.chatList.push({ + type: "rob", + avatarUrl: robAvatar, + dt: getNow(), + originContent: "搜索中🔍...", + suggests: [], + blink: true, + }); + cht.setData({ + chatList: cht.data.chatList, + }); + } + wx.request({ + url: SERVER_HOST + "/bing/chat", + method: "GET", + data: { + q: content, + t: new Date().getTime(), + sid: app.getSid(), + }, + enableHttp2: true, + success(res) { + try { + var robContent = ""; + var suggests = []; + if (res.statusCode != 200) { + robContent = + "抱歉😭,网络异常,请稍后重试 [" + res.statusCode + "]"; + suggests.push(content); + } else { + robContent = res.data["data"]["status"]; + if (robContent == "Success") { + robContent = res.data["data"]["text"]; + suggests = res.data["data"]["suggests"]; + if (robContent.indexOf("New topic") != -1) { + robContent += "\n发送“重新对话!”开始新的对话"; + suggests.push("重新对话!"); + suggests.push(content); + } + } else { + if (robContent == "Throttled") { + robContent = "这真是愉快,但你已达到每日限制。是否明天再聊?"; + suggests.push("重新对话!"); + suggests.push(content); + } else { + var msg = res.data["data"]["message"]; + if (msg.indexOf("has expired") != -1) { + that.resetConversation(); + robContent = "本轮对话已过期,请重新开始。"; + suggests.push(content); + } else { + robContent = "抱歉😭,发生错误:" + msg + ",请重试"; + suggests.push(content); + } + } + } + } + cht.data.chatList.pop(); + cht.data.chatList.push({ + type: "rob", + avatarUrl: robAvatar, + dt: getNow(), + originContent: that.processContent(robContent), + suggests: suggests, + }); + cht.setData({ + chatList: cht.data.chatList, + }); + wx.setStorage({ + key: "chatList", + data: cht.data.chatList, + }); + } catch (error) { + console.log(error); + wx.showToast({ + title: "fatal error", + }); + } + }, + fail(e) { + console.log(e); + cht.data.chatList.pop(); + cht.data.chatList.push({ + type: "rob", + avatarUrl: robAvatar, + dt: getNow(), + originContent: e.errMsg, + suggests: [], + }); + }, + }); + that.scrollTo(cht); + }, + scrollTo: function (cht) { + setTimeout(() => { + cht.setData({ + scrollId: "item" + (cht.data.chatList.length - 1), + }); + }, 50); + }, + submit() { + var content = this.data.content; + if (content.length == 0 || content == null || content.trim().length == 0) { + return; + } + this.submitContent(content); + }, + onShareAppMessage() { + return { + title: "New Bing Bot 🤖", + path: "/pages/index/index", + }; + }, + onSuggestSubmit: function (e) { + var suggest = e.detail.suggest; + this.submitContent(suggest); + }, +}); diff --git a/bingchat/pages/index/index.json b/bingchat/pages/index/index.json new file mode 100644 index 0000000..c77dc7a --- /dev/null +++ b/bingchat/pages/index/index.json @@ -0,0 +1,4 @@ +{ + "usingComponents": { + } +} diff --git a/bingchat/pages/index/index.wxml b/bingchat/pages/index/index.wxml new file mode 100644 index 0000000..fe97059 --- /dev/null +++ b/bingchat/pages/index/index.wxml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/bingchat/pages/index/index.wxss b/bingchat/pages/index/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/bingchat/project.config.json b/bingchat/project.config.json new file mode 100644 index 0000000..0a6d485 --- /dev/null +++ b/bingchat/project.config.json @@ -0,0 +1,27 @@ +{ + "appid": "wxee7496be5b68b740", + "compileType": "miniprogram", + "libVersion": "2.12.3", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "es6": true, + "postcss": true, + "minified": true, + "enhance": true, + "packNpmRelationList": [], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "uglifyFileName": false + }, + "condition": {}, + "editorSetting": { + "tabIndent": "tab", + "tabSize": 2 + } +} diff --git a/bingchat/project.private.config.json b/bingchat/project.private.config.json new file mode 100644 index 0000000..3d11a51 --- /dev/null +++ b/bingchat/project.private.config.json @@ -0,0 +1,9 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "bingchat", + "setting": { + "compileHotReLoad": true, + "urlCheck": false + }, + "libVersion": "2.15.0" +} diff --git a/bingchat/sitemap.json b/bingchat/sitemap.json new file mode 100644 index 0000000..ff91049 --- /dev/null +++ b/bingchat/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "disallow", + "page": "*" + }] +} \ No newline at end of file diff --git a/bingchat/snapshoot.png b/bingchat/snapshoot.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c18571498e793d99a743ab5dec1a90696dbd09 GIT binary patch literal 280409 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� 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 literal 0 HcmV?d00001 diff --git a/new-bing/Dockerfile b/new-bing/Dockerfile new file mode 100644 index 0000000..d6369df --- /dev/null +++ b/new-bing/Dockerfile @@ -0,0 +1,13 @@ +FROM sanicframework/sanic:3.11-latest + +WORKDIR /sanic + +COPY app.py EdgeGPT.py cookie.json cookie1.json cookie2.json requirements.txt /sanic/ + +RUN pip install -r requirements.txt + +RUN rm requirements.txt + +EXPOSE 8000 + +CMD ["python", "app.py"] diff --git a/new-bing/EdgeGPT.py b/new-bing/EdgeGPT.py new file mode 100644 index 0000000..baef5bd --- /dev/null +++ b/new-bing/EdgeGPT.py @@ -0,0 +1,336 @@ +""" +Main.py +""" +from __future__ import annotations + +import asyncio +import json +import os +import random +import ssl +import uuid +from enum import Enum +from typing import Generator +from typing import Literal +from typing import Optional +from typing import Union + +import certifi +import httpx +import websockets.client as websockets + +DELIMITER = "\x1e" + +# Generate random IP between range 13.104.0.0/14 +FORWARDED_IP = (f"13.{random.randint(104, 107)}.{random.randint(0, 255)}.{random.randint(0, 255)}") + +HEADERS = { + "accept": "application/json", + "accept-language": "en-US,en;q=0.9", + "content-type": "application/json", + "sec-ch-ua": '"Not_A Brand";v="99", "Microsoft Edge";v="110", "Chromium";v="110"', + "sec-ch-ua-arch": '"x86"', + "sec-ch-ua-bitness": '"64"', + "sec-ch-ua-full-version": '"109.0.1518.78"', + "sec-ch-ua-full-version-list": '"Chromium";v="110.0.5481.192", "Not A(Brand";v="24.0.0.0", "Microsoft Edge";v="110.0.1587.69"', + "sec-ch-ua-mobile": "?0", + "sec-ch-ua-model": "", + "sec-ch-ua-platform": '"Windows"', + "sec-ch-ua-platform-version": '"15.0.0"', + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "same-origin", + "x-ms-client-request-id": str(uuid.uuid4()), + "x-ms-useragent": "azsdk-js-api-client-factory/1.0.0-beta.1 core-rest-pipeline/1.10.0 OS/Win32", + "Referer": "https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx", + "Referrer-Policy": "origin-when-cross-origin", + "x-forwarded-for": FORWARDED_IP, +} + +HEADERS_INIT_CONVER = { + "authority": "edgeservices.bing.com", + "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", + "accept-language": "en-US,en;q=0.9", + "cache-control": "max-age=0", + "sec-ch-ua": '"Chromium";v="110", "Not A(Brand";v="24", "Microsoft Edge";v="110"', + "sec-ch-ua-arch": '"x86"', + "sec-ch-ua-bitness": '"64"', + "sec-ch-ua-full-version": '"110.0.1587.69"', + "sec-ch-ua-full-version-list": '"Chromium";v="110.0.5481.192", "Not A(Brand";v="24.0.0.0", "Microsoft Edge";v="110.0.1587.69"', + "sec-ch-ua-mobile": "?0", + "sec-ch-ua-model": '""', + "sec-ch-ua-platform": '"Windows"', + "sec-ch-ua-platform-version": '"15.0.0"', + "sec-fetch-dest": "document", + "sec-fetch-mode": "navigate", + "sec-fetch-site": "none", + "sec-fetch-user": "?1", + "upgrade-insecure-requests": "1", + "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.69", + "x-edge-shopping-flag": "1", +} + +ssl_context = ssl.create_default_context() +ssl_context.load_verify_locations(certifi.where()) + + +class NotAllowedToAccess(Exception): + pass + + +class ConversationStyle(Enum): + creative = "h3relaxedimg" + balanced = "galileo" + precise = "h3precise" + + +CONVERSATION_STYLE_TYPE = Optional[Union[ConversationStyle, Literal["creative", "balanced", "precise"]]] + + +def append_identifier(msg: dict) -> str: + """ + Appends special character to end of message to identify end of message + """ + # Convert dict to json string + return json.dumps(msg) + DELIMITER + + +class ChatHubRequest: + """ + Request object for ChatHub + """ + + def __init__( + self, + conversation_signature: str, + client_id: str, + conversation_id: str, + invocation_id: int = 0, + ) -> None: + self.struct: dict = {} + + self.client_id: str = client_id + self.conversation_id: str = conversation_id + self.conversation_signature: str = conversation_signature + self.invocation_id: int = invocation_id + + def update( + self, + prompt: str, + conversation_style: CONVERSATION_STYLE_TYPE, + options: list | None = None, + ) -> None: + """ + Updates request object + """ + if options is None: + options = [ + "deepleo", + "enable_debug_commands", + "disable_emoji_spoken_text", + "enablemm", + ] + if conversation_style: + if not isinstance(conversation_style, ConversationStyle): + conversation_style = getattr(ConversationStyle, conversation_style) + options = [ + "deepleo", + "enable_debug_commands", + "disable_emoji_spoken_text", + "enablemm", + conversation_style.value, + ] + self.struct = { + "arguments": [ + { + "source": "cib", + "optionsSets": options, + "isStartOfSession": self.invocation_id == 0, + "message": { + "author": "user", + "inputMethod": "Keyboard", + "text": prompt, + "messageType": "Chat", + }, + "conversationSignature": self.conversation_signature, + "participant": { + "id": self.client_id, + }, + "conversationId": self.conversation_id, + }, + ], + "invocationId": str(self.invocation_id), + "target": "chat", + "type": 4, + } + self.invocation_id += 1 + + +class Conversation: + """ + Conversation API + """ + + def __init__(self, cookiePath: str = "", cookies: dict | None = None) -> None: + self.struct: dict = { + "conversationId": None, + "clientId": None, + "conversationSignature": None, + "result": { + "value": "Success", + "message": None + }, + } + self.session = httpx.Client() + self.session.headers.update({ + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", + }, ) + if cookies is not None: + cookie_file = cookies + else: + f = ( + open(cookiePath, encoding="utf8").read() + if cookiePath else open(os.environ.get("COOKIE_FILE"), encoding="utf-8").read() + ) + cookie_file = json.loads(f) + for cookie in cookie_file: + self.session.cookies.set(cookie["name"], cookie["value"]) + url = "https://edgeservices.bing.com/edgesvc/turing/conversation/create" + # Send GET request + response = self.session.get( + url, + timeout=1800, + headers=HEADERS_INIT_CONVER, + ) + if response.status_code != 200: + print(f"Status code: {response.status_code}") + print(response.text) + raise Exception("Authentication failed") + try: + self.struct = response.json() + if self.struct["result"]["value"] == "UnauthorizedRequest": + raise NotAllowedToAccess(self.struct["result"]["message"]) + except (json.decoder.JSONDecodeError, NotAllowedToAccess) as exc: + raise Exception("Authentication failed. You have not been accepted into the beta.", ) from exc + + +class ChatHub: + """ + Chat API + """ + + def __init__(self, conversation: Conversation) -> None: + self.wss: websockets.WebSocketClientProtocol | None = None + self.request: ChatHubRequest + self.loop: bool + self.task: asyncio.Task + self.request = ChatHubRequest( + conversation_signature=conversation.struct["conversationSignature"], + client_id=conversation.struct["clientId"], + conversation_id=conversation.struct["conversationId"], + ) + + async def ask_stream( + self, + prompt: str, + conversation_style: CONVERSATION_STYLE_TYPE = None, + ) -> Generator[str, None, None]: + """ + Ask a question to the bot + """ + if self.wss: + if not self.wss.closed: + await self.wss.close() + # Check if websocket is closed + self.wss = await websockets.connect( + "wss://sydney.bing.com/sydney/ChatHub", + extra_headers=HEADERS, + max_size=None, + ssl=ssl_context, + open_timeout=30, + ) + await self.__initial_handshake() + # Construct a ChatHub request + self.request.update(prompt=prompt, conversation_style=conversation_style) + # Send request + await self.wss.send(append_identifier(self.request.struct)) + final = False + while not final: + objects = str(await self.wss.recv()).split(DELIMITER) + for obj in objects: + if obj is None or obj == "": + continue + response = json.loads(obj) + if response.get("type") == 1 and response["arguments"][0].get("messages", ): + yield False, response["arguments"][0]["messages"][0]["adaptiveCards"][0]["body"][0].get("text") + elif response.get("type") == 2: + final = True + yield True, response + + async def __initial_handshake(self): + await self.wss.send(append_identifier({ + "protocol": "json", + "version": 1 + })) + await self.wss.recv() + + async def close(self): + """ + Close the connection + """ + if self.wss and not self.wss.closed: + await self.wss.close() + + +class Chatbot: + """ + Combines everything to make it seamless + """ + + def __init__(self, cookiePath: str = "", cookies: dict | None = None) -> None: + self.cookiePath: str = cookiePath + self.cookies: dict | None = cookies + self.chat_hub: ChatHub = ChatHub(Conversation(self.cookiePath, self.cookies)) + + async def ask( + self, + prompt: str, + conversation_style: CONVERSATION_STYLE_TYPE = None, + ) -> dict: + """ + Ask a question to the bot + """ + async for final, response in self.chat_hub.ask_stream( + prompt=prompt, + conversation_style=conversation_style, + ): + if final: + return response + self.chat_hub.wss.close() + + async def ask_stream( + self, + prompt: str, + conversation_style: CONVERSATION_STYLE_TYPE = None, + ) -> Generator[str, None, None]: + """ + Ask a question to the bot + """ + async for response in self.chat_hub.ask_stream( + prompt=prompt, + conversation_style=conversation_style, + ): + yield response + + async def close(self): + """ + Close the connection + """ + await self.chat_hub.close() + + async def reset(self): + """ + Reset the conversation + """ + await self.close() + self.chat_hub = ChatHub(Conversation()) diff --git a/new-bing/Makefile b/new-bing/Makefile new file mode 100644 index 0000000..b9de292 --- /dev/null +++ b/new-bing/Makefile @@ -0,0 +1,6 @@ +build: + docker build -t yy194131/new-bing:$(version) . + docker push yy194131/new-bing:$(version) + +release:build + ssh roselle 'bash /home/linghaihui/bingchat/start.sh $(version)' diff --git a/new-bing/README.md b/new-bing/README.md new file mode 100644 index 0000000..13262c7 --- /dev/null +++ b/new-bing/README.md @@ -0,0 +1,3 @@ +[登录 bing 账号](https://login.live.com/), 使用[Cookie-Editor 扩展](https://chrome.google.com/webstore/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm)将 cookie 以 json 格式导出,保存为`cookie.json`文件,同时将`COOKIE_FILE`环境变量的值指向该文件。 + +`EdgeGPT.py`文件 fork 至[https://github.com/acheong08/EdgeGPT](https://github.com/acheong08/EdgeGPT),并做了些许修改,在此表示感谢! diff --git a/new-bing/app.py b/new-bing/app.py new file mode 100644 index 0000000..d1fda9d --- /dev/null +++ b/new-bing/app.py @@ -0,0 +1,108 @@ +# coding=utf-8 + +import os +import re +import threading + +import requests +from sanic import Sanic +from sanic.response import json + +from EdgeGPT import Chatbot, ConversationStyle + +APPID = os.environ.get('WXAPPID') +APPSECRET = os.environ.get('WXAPPSECRET') +WX_URL = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code' +# 备用cookie +COOKIE = os.environ.get('COOKIE_FILE', '') +BAK_COOKIE = os.environ.get('COOKIE_FILE1', '') +BAK_COOKIE1 = os.environ.get('COOKIE_FILE2', '') + +LOCK = threading.Lock() + + +def reset_cookie(): + if not LOCK.acquire(blocking=False): + return + cookie = os.environ.get('COOKIE_FILE') + if cookie == COOKIE: + os.environ['COOKIE_FILE'] = BAK_COOKIE + elif cookie == BAK_COOKIE: + os.environ['COOKIE_FILE'] = BAK_COOKIE1 + elif cookie == BAK_COOKIE1: + os.environ['COOKIE_FILE'] = COOKIE + LOCK.release() + + +app = Sanic('new-bing') +app.config.REQUEST_TIMEOUT = 900 +app.config.RESPONSE_TIMEOUT = 900 +bots = {} + + +def get_bot(sid): + if sid in bots: + return bots[sid] + bot = Chatbot() + bots[sid] = bot + return bot + + +async def do_chat(request): + return await get_bot(request.args.get('sid')).ask( + request.args.get('q'), conversation_style=ConversationStyle.balanced + ) + + +@app.route('/chat') +async def chat(request): + res = await do_chat(request) + auto_reset = request.args.get('auto_reset', '') + status = res['item']['result']['value'] + if status == 'Throttled': + reset_cookie() + await get_bot(request.args.get('sid')).reset() + res = await do_chat(request) + status = res['item']['result']['value'] + text = '' + suggests = [] + if status == 'Success': + if len(res['item']['messages']) >= 2: + text = res['item']['messages'][1]['text'] + if re.match(r'.*\[\^\d+\^\].*', text): + text = res['item']['messages'][1]['adaptiveCards'][0]['body'][0]['text'] + text = re.sub(r'\[\^\d+\^\]', '', text) + suggests = [x['text'] for x in res['item']['messages'][1]['suggestedResponses']] + else: + text = '抱歉,未搜索到结果,请重试。' + suggests = [request.args.get('q')] + msg = res['item']['result']['message'] if 'message' in res['item']['result'] else '' + # 自动reset + if auto_reset and ('New topic' in text or 'has expired' in msg): + await get_bot(request.args.get('sid')).reset() + return json({ + 'data': { + 'status': status, + 'text': text, + 'suggests': suggests, + 'message': msg, + }, + 'cookie': os.environ.get('COOKIE_FILE') + }) + + +@app.route('/reset') +async def reset(request): + await get_bot(request.args.get('sid')).reset() + return json({'data': ''}) + + +@app.route('/openid') +async def openid(request): + code = request.args.get('code') + url = WX_URL % (APPID, APPSECRET, code) + return json({'data': requests.get(url).json()}) + + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=8000, workers=4) diff --git a/new-bing/env.example b/new-bing/env.example new file mode 100644 index 0000000..e304a2e --- /dev/null +++ b/new-bing/env.example @@ -0,0 +1,5 @@ +WXAPPID= +WXAPPSECRET= +COOKIE_FILE=/sanic/cookie.json +COOKIE_FILE1=/sanic/cookie1.json +COOKIE_FILE2=/sanic/cookie2.json diff --git a/new-bing/pyrightconfig.json b/new-bing/pyrightconfig.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/new-bing/pyrightconfig.json @@ -0,0 +1 @@ +{} diff --git a/new-bing/requirements.txt b/new-bing/requirements.txt new file mode 100644 index 0000000..8ca718d --- /dev/null +++ b/new-bing/requirements.txt @@ -0,0 +1,5 @@ +sanic==22.12.0 +requests==2.28.2 +asyncio==3.4.3 +websockets==10.4 +httpx==0.23.3 diff --git a/new-bing/start.sh b/new-bing/start.sh new file mode 100644 index 0000000..a56de19 --- /dev/null +++ b/new-bing/start.sh @@ -0,0 +1,3 @@ +docker pull yy194131/new-bing:$1 +docker stop new-bing && docker rm new-bing +docker run --restart always --name new-bing --env-file $(pwd)/env -p 8000:8000 -d yy194131/new-bing:$1 diff --git a/wechatbot/.gitignore b/wechatbot/.gitignore new file mode 100644 index 0000000..4983c0e --- /dev/null +++ b/wechatbot/.gitignore @@ -0,0 +1 @@ +storage.json diff --git a/wechatbot/Dockerfile b/wechatbot/Dockerfile new file mode 100644 index 0000000..01b821c --- /dev/null +++ b/wechatbot/Dockerfile @@ -0,0 +1,9 @@ +FROM golang:1.16 as builder +ENV GOPROXY=https://goproxy.cn,direct +WORKDIR /app +COPY . . +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o chatgpt +FROM alpine:3.17.2 +WORKDIR /app +COPY --from=builder /app/chatgpt . +ENTRYPOINT ["./chatgpt", ">>", "chatgpt.log", "2>&1"] diff --git a/wechatbot/Makefile b/wechatbot/Makefile new file mode 100644 index 0000000..a3cb9a3 --- /dev/null +++ b/wechatbot/Makefile @@ -0,0 +1,3 @@ +build: + docker build -t yy194131/chatgpt:$(version) . + docker push yy194131/chatgpt:$(version) diff --git a/wechatbot/README.md b/wechatbot/README.md new file mode 100644 index 0000000..d68c46b --- /dev/null +++ b/wechatbot/README.md @@ -0,0 +1,31 @@ +# wechatbot +最近chatGPT异常火爆,想到将其接入到个人微信是件比较有趣的事,所以有了这个项目。项目基于[openwechat](https://github.com/eatmoreapple/openwechat)开发,支持chatGPT和New Bing[依赖于new-bing](../new-bing) + +### 目前实现了以下功能 + + 群聊@回复 + + 私聊回复 + + 自动通过回复 + +# 注册openai +chatGPT注册可以参考[这里](https://juejin.cn/post/7173447848292253704) + +# 安装使用 + +``` +# 获取项目 +git clone https://github.com/bujnlc8/gptbing + +# 进入项目目录 +cd gptbing/wechatbot + +# 复制配置文件 +copy config.dev.json config.json + +# 启动项目 +go run main.go + +``` + +本项目fork至[https://github.com/djun/wechatbot](https://github.com/djun/wechatbot),在此致谢! + +**⚠️ 有一定的几率导致被微信封号,请谨慎使用,由此导致的封号,本人概不负责** diff --git a/wechatbot/bootstrap/bootstrap.go b/wechatbot/bootstrap/bootstrap.go new file mode 100644 index 0000000..bd59cd1 --- /dev/null +++ b/wechatbot/bootstrap/bootstrap.go @@ -0,0 +1,31 @@ +package bootstrap + +import ( + "log" + + "github.com/bujnlc8/wechatbot/handlers" + "github.com/eatmoreapple/openwechat" +) + +func Run() { + //bot := openwechat.DefaultBot() + bot := openwechat.DefaultBot(openwechat.Desktop) // 桌面模式,上面登录不上的可以尝试切换这种模式 + + // 注册消息处理函数 + bot.MessageHandler = handlers.Handler + // 注册登陆二维码回调 + bot.UUIDCallback = openwechat.PrintlnQrcodeUrl + + // 创建热存储容器对象 + reloadStorage := openwechat.NewJsonFileHotReloadStorage("storage.json") + // 执行热登录 + err := bot.HotLogin(reloadStorage) + if err != nil { + if err = bot.Login(); err != nil { + log.Printf("login error: %v \n", err) + return + } + } + // 阻塞主goroutine, 直到发生异常或者用户主动退出 + bot.Block() +} diff --git a/wechatbot/config.json.example b/wechatbot/config.json.example new file mode 100644 index 0000000..e105e78 --- /dev/null +++ b/wechatbot/config.json.example @@ -0,0 +1,5 @@ +{ + "api_key": "", + "auto_pass": true, + "bing_chat_url": "" +} diff --git a/wechatbot/config/config.go b/wechatbot/config/config.go new file mode 100644 index 0000000..8142465 --- /dev/null +++ b/wechatbot/config/config.go @@ -0,0 +1,57 @@ +package config + +import ( + "encoding/json" + "log" + "os" + "sync" +) + +// Configuration 项目配置 +type Configuration struct { + // gpt apikey + ApiKey string `json:"api_key"` + // 自动通过好友 + AutoPass bool `json:"auto_pass"` + + // bing 聊天接口 + BingChatUrl string `json:"bing_chat_url"` +} + +var config *Configuration +var once sync.Once + +// LoadConfig 加载配置 +func LoadConfig() *Configuration { + once.Do(func() { + // 从文件中读取 + config = &Configuration{} + f, err := os.Open("config.json") + if err != nil { + log.Fatalf("open config err: %v", err) + return + } + defer f.Close() + encoder := json.NewDecoder(f) + err = encoder.Decode(config) + if err != nil { + log.Fatalf("decode config err: %v", err) + return + } + + // 如果环境变量有配置,读取环境变量 + ApiKey := os.Getenv("ApiKey") + AutoPass := os.Getenv("AutoPass") + BingChatUrl := os.Getenv("BingChatUrl") + if ApiKey != "" { + config.ApiKey = ApiKey + } + if AutoPass == "true" { + config.AutoPass = true + } + if BingChatUrl != "" { + config.BingChatUrl = BingChatUrl + } + }) + return config +} diff --git a/wechatbot/go.mod b/wechatbot/go.mod new file mode 100644 index 0000000..2563054 --- /dev/null +++ b/wechatbot/go.mod @@ -0,0 +1,5 @@ +module github.com/bujnlc8/wechatbot + +go 1.16 + +require github.com/eatmoreapple/openwechat v1.4.2-0.20230321053318-1c102bdea8d7 diff --git a/wechatbot/go.sum b/wechatbot/go.sum new file mode 100644 index 0000000..d2750a9 --- /dev/null +++ b/wechatbot/go.sum @@ -0,0 +1,2 @@ +github.com/eatmoreapple/openwechat v1.4.2-0.20230321053318-1c102bdea8d7 h1:5vryo6dsmZZn1pYo8TrcqEUJq075QMpdDwLZz+oMfLs= +github.com/eatmoreapple/openwechat v1.4.2-0.20230321053318-1c102bdea8d7/go.mod h1:ZxMcq7IpVWVU9JG7ERjExnm5M8/AQ6yZTtX30K3rwRQ= diff --git a/wechatbot/gpt/bing.go b/wechatbot/gpt/bing.go new file mode 100644 index 0000000..c9e4f08 --- /dev/null +++ b/wechatbot/gpt/bing.go @@ -0,0 +1,85 @@ +package gpt + +import ( + "encoding/json" + "io/ioutil" + "log" + "net/http" + "net/url" + "strings" + + "github.com/bujnlc8/wechatbot/config" +) + +type BingQuery struct { + Q string `json:"q"` + SID string `json:"sid"` +} + +type BingResponse struct { + Data BingResponseData `json:"data"` + Cookie string `json:"cookie"` +} + +type BingResponseData struct { + Suggests []string `json:"suggests"` + Status string `json:"status"` + Text string `json:"text"` + Message string `json:"message"` +} + +// const BingChatUrl = "http://127.0.0.1:8000/chat" + +const Referer = "https://servicewechat.com/wxee7496be5b68b740" + +func BingSearch(msg string, nickName string) (string, error) { + params := url.Values{} + params.Add("q", msg) + params.Add("sid", nickName) + params.Add("auto_reset", "1") + log.Printf("request bing query string : %v", params) + BingChatUrl := config.LoadConfig().BingChatUrl + req, err := http.NewRequest("GET", BingChatUrl+"?"+params.Encode(), nil) + if err != nil { + return "", err + } + req.Header.Set("Referer", Referer) + client := &http.Client{} + response, err := client.Do(req) + if err != nil { + return "非常抱歉😭,网络异常,请稍后重试", err + } + if response.StatusCode != 200 { + return "非常抱歉😭,网络异常,请稍后重试 [" + string(rune(response.StatusCode)) + "]", nil + } + defer response.Body.Close() + + body, err := ioutil.ReadAll(response.Body) + if err != nil { + return "响应异常,请稍后再试", err + } + + bingResponse := &BingResponse{} + log.Println(string(body)) + err = json.Unmarshal(body, bingResponse) + if err != nil { + return "", err + } + if bingResponse.Data.Status == "Success" { + if strings.Contains(bingResponse.Data.Text, "New topic") { + return bingResponse.Data.Text + "\n请重新开始对话", nil + } + return bingResponse.Data.Text, nil + + } else { + if bingResponse.Data.Status == "Throttled" { + return "这真是愉快,但你已达到每日限制。是否明天再聊?", nil + } else { + if strings.Contains(bingResponse.Data.Message, "has expired") { + return "本轮对话已过期,请重新开始。", nil + } else { + return "抱歉😭,发生错误:" + bingResponse.Data.Message + ",请重试", nil + } + } + } +} diff --git a/wechatbot/gpt/bing_test.go b/wechatbot/gpt/bing_test.go new file mode 100644 index 0000000..2b59c2b --- /dev/null +++ b/wechatbot/gpt/bing_test.go @@ -0,0 +1,15 @@ +package gpt + +import ( + "fmt" + "testing" +) + +func TestBing(t *testing.T) { + reply, err := BingSearch("今天北京的天气怎么样", "nickname") + if err != nil{ + t.Error(err) + } + fmt.Printf("%+v\n", reply) + +} diff --git a/wechatbot/gpt/gpt.go b/wechatbot/gpt/gpt.go new file mode 100644 index 0000000..6308ee5 --- /dev/null +++ b/wechatbot/gpt/gpt.go @@ -0,0 +1,92 @@ +package gpt + +import ( + "bytes" + "encoding/json" + "io/ioutil" + "log" + "net/http" + + "github.com/bujnlc8/wechatbot/config" +) + +const BASEURL = "https://api.openai.com/v1/chat/" + +type Message struct { + Role string `json:"role"` + Content string `json:"content"` +} + +// ChatGPTResponseBody 请求体 +type ChatGPTResponseBody struct { + ID string `json:"id"` + Object string `json:"object"` + Created int `json:"created"` + Model string `json:"model"` + Choices []ChoiceItem `json:"choices"` + Usage map[string]interface{} `json:"usage"` +} + +type ChoiceItem struct { + Message Message `json:"message"` + FinishReason string `json:"finish_reason"` +} + +// ChatGPTRequestBody 响应体 +type ChatGPTRequestBody struct { + Model string `json:"model"` + MaxTokens int `json:"max_tokens"` + Temperature float32 `json:"temperature"` + Messages []Message `json:"messages"` +} + +func Completions(msg string) (string, error) { + message := Message{Role: "user", Content: msg} + requestBody := ChatGPTRequestBody{ + Model: "gpt-3.5-turbo", + MaxTokens: 2048, + Temperature: 0.2, + Messages: []Message{message}, + } + requestData, err := json.Marshal(requestBody) + + if err != nil { + return "", err + } + log.Printf("request gpt json string : %v", string(requestData)) + req, err := http.NewRequest("POST", BASEURL+"completions", bytes.NewBuffer(requestData)) + if err != nil { + return "", err + } + + apiKey := config.LoadConfig().ApiKey + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+apiKey) + client := &http.Client{} + response, err := client.Do(req) + if err != nil { + return "", err + } + defer response.Body.Close() + + body, err := ioutil.ReadAll(response.Body) + if err != nil { + return "", err + } + + gptResponseBody := &ChatGPTResponseBody{} + log.Println(string(body)) + err = json.Unmarshal(body, gptResponseBody) + if err != nil { + return "", err + } + var reply string + if len(gptResponseBody.Choices) > 0 { + for _, v := range gptResponseBody.Choices { + reply = v.Message.Content + break + } + } + log.Printf("gpt response text: %s \n", reply) + return reply, nil +} diff --git a/wechatbot/handlers/group_msg_handler.go b/wechatbot/handlers/group_msg_handler.go new file mode 100644 index 0000000..554e580 --- /dev/null +++ b/wechatbot/handlers/group_msg_handler.go @@ -0,0 +1,78 @@ +package handlers + +import ( + "log" + "strings" + + "github.com/bujnlc8/wechatbot/gpt" + "github.com/eatmoreapple/openwechat" +) + +var _ MessageHandlerInterface = (*GroupMessageHandler)(nil) + +// GroupMessageHandler 群消息处理 +type GroupMessageHandler struct { +} + +// handle 处理消息 +func (g *GroupMessageHandler) handle(msg *openwechat.Message) error { + if msg.IsText() { + return g.ReplyText(msg) + } + msg.ReplyText("目前我只支持文字哦~") + return nil +} + +// NewGroupMessageHandler 创建群消息处理器 +func NewGroupMessageHandler() MessageHandlerInterface { + return &GroupMessageHandler{} +} + +// ReplyText 发送文本消息到群 +func (g *GroupMessageHandler) ReplyText(msg *openwechat.Message) error { + sender, err := msg.Sender() + group := openwechat.Group{User: sender} + log.Printf("Received Group %v Text Msg : %v", group.NickName, msg.Content) + + // @GPTBot 或者 @bing的消息才处理 + if !(strings.Contains(msg.Content, "@GPTBot") || strings.Contains(msg.Content, "@bing")) { + return nil + } + + requestText := strings.TrimSpace(strings.ReplaceAll(msg.Content, "@GPTBot", "")) + var reply = "" + if strings.Contains(msg.Content, "@bing") { + requestText = strings.TrimSpace(strings.ReplaceAll(msg.Content, "@bing", "")) + reply, err = gpt.BingSearch(requestText, sender.NickName) + } else { + + reply, err = gpt.Completions(requestText) + } + if err != nil { + log.Printf("gpt request error: %v \n", err) + msg.ReplyText("机器人神了,我一会发现了就去修。") + return err + } + if reply == "" { + msg.ReplyText("机器人响应为空") + return nil + } + + // 获取@我的用户 + groupSender, err := msg.SenderInGroup() + if err != nil { + log.Printf("get sender in group error :%v \n", err) + return err + } + + // 回复@我的用户 + reply = strings.TrimSpace(reply) + reply = strings.Trim(reply, "\n") + atText := "@" + groupSender.NickName + replyText := atText + " " + reply + _, err = msg.ReplyText(replyText) + if err != nil { + log.Printf("response group error: %v \n", err) + } + return err +} diff --git a/wechatbot/handlers/handler.go b/wechatbot/handlers/handler.go new file mode 100644 index 0000000..efb22e4 --- /dev/null +++ b/wechatbot/handlers/handler.go @@ -0,0 +1,54 @@ +package handlers + +import ( + "log" + + "github.com/bujnlc8/wechatbot/config" + "github.com/eatmoreapple/openwechat" +) + +// MessageHandlerInterface 消息处理接口 +type MessageHandlerInterface interface { + handle(*openwechat.Message) error + ReplyText(*openwechat.Message) error +} + +type HandlerType string + +const ( + GroupHandler = "group" + UserHandler = "user" +) + +// handlers 所有消息类型类型的处理器 +var handlers map[HandlerType]MessageHandlerInterface + +func init() { + handlers = make(map[HandlerType]MessageHandlerInterface) + handlers[GroupHandler] = NewGroupMessageHandler() + handlers[UserHandler] = NewUserMessageHandler() +} + +// Handler 全局处理入口 +func Handler(msg *openwechat.Message) { + log.Printf("hadler Received msg : %v", msg.Content) + // 处理群消息 + if msg.IsSendByGroup() { + handlers[GroupHandler].handle(msg) + return + } + + // 好友申请 + if msg.IsFriendAdd() { + if config.LoadConfig().AutoPass { + _, err := msg.Agree("你好我是基于chatGPT引擎开发的微信机器人,你可以向我提问任何问题。") + if err != nil { + log.Fatalf("add friend agree error : %v", err) + return + } + } + } + + // 私聊 + handlers[UserHandler].handle(msg) +} diff --git a/wechatbot/handlers/user_msg_handler.go b/wechatbot/handlers/user_msg_handler.go new file mode 100644 index 0000000..6a31626 --- /dev/null +++ b/wechatbot/handlers/user_msg_handler.go @@ -0,0 +1,65 @@ +package handlers + +import ( + "log" + "strings" + + "github.com/bujnlc8/wechatbot/gpt" + "github.com/eatmoreapple/openwechat" +) + +var _ MessageHandlerInterface = (*UserMessageHandler)(nil) + +// UserMessageHandler 私聊消息处理 +type UserMessageHandler struct { +} + +// handle 处理消息 +func (g *UserMessageHandler) handle(msg *openwechat.Message) error { + if msg.IsText() { + return g.ReplyText(msg) + } + msg.ReplyText("目前我只支持文字哦~") + return nil +} + +// NewUserMessageHandler 创建私聊处理器 +func NewUserMessageHandler() MessageHandlerInterface { + return &UserMessageHandler{} +} + +// ReplyText 发送文本消息到群 +func (g *UserMessageHandler) ReplyText(msg *openwechat.Message) error { + // 接收私聊消息 + sender, err := msg.Sender() + log.Printf("Received User %v Text Msg : %v", sender.NickName, msg.Content) + + requestText := strings.TrimSpace(msg.Content) + requestText = strings.Trim(msg.Content, "\n") + + var reply = "" + if strings.Contains(msg.Content, "@bing") { + requestText = strings.TrimSpace(strings.ReplaceAll(msg.Content, "@bing", "")) + reply, err = gpt.BingSearch(requestText, sender.NickName) + } else { + reply, err = gpt.Completions(requestText) + } + if err != nil { + log.Printf("gpt request error: %v \n", err) + msg.ReplyText("机器人神了,我一会发现了就去修。") + return err + } + if reply == "" { + msg.ReplyText("机器人响应为空") + return nil + } + + // 回复用户 + reply = strings.TrimSpace(reply) + reply = strings.Trim(reply, "\n") + _, err = msg.ReplyText(reply) + if err != nil { + log.Printf("response user error: %v \n", err) + } + return err +} diff --git a/wechatbot/main.go b/wechatbot/main.go new file mode 100644 index 0000000..4ae64b0 --- /dev/null +++ b/wechatbot/main.go @@ -0,0 +1,9 @@ +package main + +import ( + "github.com/bujnlc8/wechatbot/bootstrap" +) + +func main() { + bootstrap.Run() +}