Browse Source

update readme

eryajf 1 year ago
parent
commit
eed10eb791
1 changed files with 71 additions and 95 deletions
  1. 71 95
      README.md

+ 71 - 95
README.md

@@ -153,71 +153,11 @@
 
 ## 使用教程
 
-### 第一步,创建机器人
-
-#### 方案一:outgoing类型机器人
-
-钉钉群内的机器人有一个outgoing模式,当你创建机器人的时候,可以选择启用这个模式,然后直接配置回调地址,免去在管理后台创建应用的步骤,就可以直接投入使用。
-
-官方文档:[自定义机器人接入](https://open.dingtalk.com/document/orgapp/custom-robot-access)
-
-但是这个模式貌似是部分开放的(目前来看貌似是部分人有创建这个类型的白名单),所以如果你在钉钉群聊中添加`自定义机器人`的时候,看到和我一样的信息,则说明无法使用这种方式:
-
-<details>
-    <summary>🖼 点我查看示例图</summary>
-    <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20230325_162017.jpg">
-</details>
-
-`📢 注意`
-
-- 如果你的和我一样,那么就只能放弃这种方案,往下看第二种对接方案。
-- 如果使用这种方案,那么就不能与机器人私聊对话,只能局限在群聊当中艾特机器人聊天。
-- 如果使用这种方案,则在群聊当中并不能达到真正的艾特发消息人的效果,因为这种机器人回调过来的关键信息为空。
-
-#### 方案二:企业内部应用
-
-创建步骤参考文档:[企业内部开发机器人](https://open.dingtalk.com/document/robots/enterprise-created-chatbot),或者根据如下步骤进行配置。
-
-1. 创建机器人。
-    <details>
-      <summary>🖼 点我查看示例图</summary>
-      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163616.png">
-    </details>
-
-   > `📢 注意1:`可能现在创建机器人的时候名字为`chatgpt`会被钉钉限制,请用其他名字命名。
-   > `📢 注意2:`第四步骤点击创建应用的时候,务必选择使用旧版,从而创建旧版机器人。
-
-   步骤比较简单,这里就不赘述了。
-
-2. 配置机器人回调接口。
-    <details>
-      <summary>🖼 点我查看示例图</summary>
-      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163652.png">
-    </details>
-
-   创建完毕之后,点击机器人开发管理,然后配置将要部署的服务所在服务器的出口IP,以及将要给服务配置的域名。
-
-  ` 如果提示:` 消息接收地址校验失败(请确保公网可访问该地址,如无有效SSL证书,可选择禁用证书校验),那么可以先输入一个`https://`,然后就能看到`禁用https`的选项了,选择禁用,然后再把地址改成`http`就好了。
-
-3. 发布机器人。
-    <details>
-      <summary>🖼 点我查看示例图</summary>
-      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163709.png">
-    </details>
-
-   点击版本管理与发布,然后点击上线,这个时候就能在钉钉的群里中添加这个机器人了。
-
-4. 群聊添加机器人。
-    <details>
-      <summary>🖼 点我查看示例图</summary>
-      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163724.png">
-    </details>
-
-### 第二步,部署应用
+### 第一步,部署应用
 
 #### docker部署
 
-你可以使用docker快速运行本项目。
+推荐你使用docker快速运行本项目。
 
 ```
 第一种:基于环境变量运行
@@ -261,7 +201,7 @@ $ docker run -itd --name chatgpt -p 8090:8090  -v `pwd`/config.yml:/app/config.y
 第三种:使用 docker compose 运行
 $ wget https://raw.githubusercontent.com/eryajf/chatgpt-dingtalk/main/docker-compose.yml
 
-$ nano docker-compose.yml # 编辑 APIKEY 等信息
+$ vim docker-compose.yml # 编辑 APIKEY 等信息
 
 $ docker compose up -d
 ```
@@ -288,46 +228,20 @@ server {
 
 部署完成之后,就可以在群里艾特机器人进行体验了。
 
-`📢 注意`:Nginx代理步骤是个可选步骤,你也可以直接通过服务器外网IP:PORT作为回调地址。
+`📢 注意:` 配置Nginx代理步骤是个可选步骤,你也可以直接通过服务器外网IP:PORT作为回调地址。
 
 Nginx配置完毕之后,可以先手动请求一下,通过服务日志输出判断服务是否正常可用:
 
 ```sh
-$ curl --location --request POST 'http://chat.eryajf.net/' \
-  --header 'Content-type: application/json' \
-  -d '{
-    "conversationId": "xxx",
-    "atUsers": [
-        {
-            "dingtalkId": "xxx",
-            "staffId":"xxx"
-        }
-    ],
-    "chatbotCorpId": "dinge8a565xxxx",
-    "chatbotUserId": "$:LWCP_v1:$Cxxxxx",
-    "msgId": "msg0xxxxx",
-    "senderNick": "eryajf",
-    "isAdmin": true,
-    "senderStaffId": "user123",
-    "sessionWebhookExpiredTime": 1613635652738,
-    "createAt": 1613630252678,
-    "senderCorpId": "dinge8a565xxxx",
-    "conversationType": "2",
-    "senderId": "$:LWCP_v1:$Ff09GIxxxxx",
-    "conversationTitle": "机器人测试-TEST",
-    "isInAtList": true,
-    "sessionWebhook": "https://oapi.dingtalk.com/robot/sendBySession?session=xxxxx",
-    "text": {
-        "content": " 你好"
-    },
-    "msgtype": "text"
-}'
+$ curl -s 'http://chat.eryajf.net/'
+{
+  "msg": "欢迎使用钉钉机器人",
+  "status": "ok"
+}
 ```
 
 如果手动请求没有问题,那么就可以在钉钉群里与机器人进行对话了。
 
-> **📢 注意:** 如果配置文件中`app_secret`不为空,那么这里curl请求将会校验失败,理论上只要服务能够正常被访问,那么直接在钉钉管理后台配置回调就可以了,如果想通过curl进行调试,则注意需把对应配置项留空。
-
 #### 二进制部署
 
 
@@ -346,6 +260,68 @@ $ nohup ./chatgpt-dingtalk &> run.log &
 $ tail -f run.log
 ```
 
+
+### 第二步,创建机器人
+
+#### 方案一:outgoing类型机器人
+
+钉钉群内的机器人有一个outgoing模式,当你创建机器人的时候,可以选择启用这个模式,然后直接配置回调地址,免去在管理后台创建应用的步骤,就可以直接投入使用。
+
+官方文档:[自定义机器人接入](https://open.dingtalk.com/document/orgapp/custom-robot-access)
+
+但是这个模式貌似是部分开放的(目前来看貌似是部分人有创建这个类型的白名单),所以如果你在钉钉群聊中添加`自定义机器人`的时候,看到和我一样的信息,则说明无法使用这种方式:
+
+<details>
+    <summary>🖼 点我查看示例图</summary>
+    <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20230325_162017.jpg">
+</details>
+
+`📢 注意`
+
+- 如果你的和我一样,那么就只能放弃这种方案,往下看第二种对接方案。
+- 如果使用这种方案,那么就不能与机器人私聊对话,只能局限在群聊当中艾特机器人聊天。
+- 如果使用这种方案,则在群聊当中并不能达到真正的艾特发消息人的效果,因为这种机器人回调过来的关键信息为空。
+
+#### 方案二:企业内部应用
+
+创建步骤参考文档:[企业内部开发机器人](https://open.dingtalk.com/document/robots/enterprise-created-chatbot),或者根据如下步骤进行配置。
+
+1. 创建机器人。
+    <details>
+      <summary>🖼 点我查看示例图</summary>
+      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163616.png">
+    </details>
+
+   > `📢 注意1:`可能现在创建机器人的时候名字为`chatgpt`会被钉钉限制,请用其他名字命名。
+   > `📢 注意2:`第四步骤点击创建应用的时候,务必选择使用旧版,从而创建旧版机器人,如果选择新版,则机器人的功能集成在了应用当中的消息推送模块儿。
+
+   步骤比较简单,这里就不赘述了。
+
+2. 配置机器人回调接口。
+    <details>
+      <summary>🖼 点我查看示例图</summary>
+      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163652.png">
+    </details>
+
+   创建完毕之后,点击机器人开发管理,然后配置将要部署的服务所在服务器的出口IP,以及将要给服务配置的域名。
+
+  `📢 注意:` 添加消息接收地址的时候,务必确保服务在正常运行且可通过回调地址访问,否则保存时将会失败。
+  `📢 如果提示:` 消息接收地址校验失败(请确保公网可访问该地址,如无有效SSL证书,可选择禁用证书校验),那么可以先输入一个`https://`,然后就能看到`禁用https`的选项了,选择禁用,然后再把地址改成`http`就好了。
+
+3. 发布机器人。
+    <details>
+      <summary>🖼 点我查看示例图</summary>
+      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163709.png">
+    </details>
+
+   点击版本管理与发布,然后点击上线,这个时候就能在钉钉的群里中添加这个机器人了。
+
+4. 群聊添加机器人。
+    <details>
+      <summary>🖼 点我查看示例图</summary>
+      <img src="https://cdn.staticaly.com/gh/eryajf/tu/main/img/image_20221209_163724.png">
+    </details>
+
 ## 亮点特色
 
 ### 与机器人私聊