Skip to content

Commit

Permalink
x
Browse files Browse the repository at this point in the history
  • Loading branch information
1-6 authored and 1-6 committed Aug 12, 2023
1 parent 624b2ec commit 3bbbac0
Show file tree
Hide file tree
Showing 5 changed files with 193 additions and 57 deletions.
124 changes: 97 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,137 @@
<h1 align="center">傻妞</h1>
<div align="center">
<font size=3> Nodejs环境的插件式机器人框架,它可以diy Adapter来对接任何平台来实现交互.</font>
<font size=3> 支持多种开发语言的机器人框架,一个脚本即可实现跨平台的用户交互.</font>

<font size=4>一个不太有用的机器人,我愿称之为 **《废物》**.</font>

[开发文档](https://cdle.github.io/sillyGirl) | [Github](https://github.com/cdle/sillyGirl) | [TG频道](https://t.me/kczz2021) | [赞助列表](./sponsors.md)
[开发文档](https://cdle.github.io/sillyGirl) | [Github](https://github.com/cdle/sillyGirl) | [TG 频道](https://t.me/kczz2021) | [赞助列表](./sponsors.md)

\_



_
</div>

> **傻妞 是一个开箱即用的Nodejs Chat RoBot(会话式机器人)框架。它基于OOP函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序**
> **傻妞 是一个开箱即用的 社交平台交互 框架。它基于 OOP 函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序**
# 特性
* 多平台多账户接入系统 : 2个qq/3个wx/4个tg? so easy!;
* 基于TypeScritp OOP函数响应式编程 :源码仅1.5M,占用小,响应快,开发易 ;
* 极简的插件开发 : 系统高度封装,提供简便人性化的系统方法,随心所欲开发插件;
* 异步同步执行自由控制 : 基于nodejs async/await/Promise特性,你可以自由控制异步同步(阻塞非阻塞运行);
* 不仅仅是Chat RoBot : 原生支持npm/yarn,开发潜力无穷大,如果你愿意,可以在本框架上搭建网站、图片服务器、资源共享平台、并发请求等服务,在JavaScript上能做到的事情在这里都将被实现.

- 多平台多账户接入系统 : 2 个 qq/3 个 wx/4 个 tg? so easy!;
- 用户可以前往插件市场,一键安装自己想要接入聊天工具,简单配置即可使用
![开箱即用的适配器](md/image/use/adapters.png)
- 开发者可以通过 Adapter 自由接入聊天工具,以下是接入`tailchat`的简单插件例子

```javascript
/**
* @title Tailchat
* @create_at 2023-08-05 21:16:32
* @description 🐒配置详见 https://tailchat.msgbyte.com/zh-Hans/docs/advanced-usage/openapp/ws
* @author 猫咪
* @version v1.0.3
* @form {key: "tailchat.APPID", title: "APP ID", required: true }
* @form {key: "tailchat.APPSECRET", title: "APP SECRET", required: true }
* @form {key: "tailchat.HOST", title: "HOST", required: true, tooltip: "服务器http地址" }
* @service true
* @icon https://tailchat.msgbyte.com/zh-Hans/img/logo.svg
* @public true
* @class 机器人
*/

const {
Bucket,
utils: { parseCQText },
Adapter,
} = require("sillygirl");
const { URL } = require("url");

(async () => {
const platform = "tailchat";
const config = new Bucket(platform);
const { TailchatWsClient } = require("tailchat-client-sdk");

let HOST = await config.get("HOST");
let APPID = await config.get("APPID");
let APPSECRET = await config.get("APPSECRET");

const parsedUrl = new URL(HOST);
HOST = `${parsedUrl.protocol}//${parsedUrl.host}`;

if (!HOST || !APPID || !APPSECRET) {
console.error("require param: HOST, APPID, APPSECRET");
process.exit(1);
}

const client = new TailchatWsClient(HOST, APPID, APPSECRET);

client.connect().then(async () => {
const bot_info = await client.whoami();
const adapter = new Adapter({
platform, //平台简称
bot_id: bot_info.userId, //机器人ID
replyHandler: async ({ content, chat_id: converseId, groupId }) => {
client.sendMessage({ converseId, groupId: groupId ?? "", content }); //往社交平台发送消息
},
}); // 初始化适配器
client.onMessage(({ content, author: user_id, groupId, converseId }) => {
adapter.receive({
user_id,
chat_id: converseId,
content,
groupId,
}); //向框架发送消息
});
});
})();
```
- 基于 Golang OOP 函数响应式编程 :占用小,响应快,开发易 ;
- 极简的插件设计模式
- 系统高度封装,提供简便人性化的系统方法,随心所欲开发插件;
- 用户可以轻松安装已发布插件,免去部署环境等繁琐操作
![插件市场](md/image/use/market.png)
- 支持多种开发语言 :
- 内置 Javascript 引擎,完整支持 ECMAScript 5.1,快速、便捷、门槛低;
- 支持 NodeJs,尽情使用其提供的 async/await/Promise 语法糖,可以自由控制异步同步;
- 支持 Python3,简洁明了的语法、强大的标准库以及社区优势;
- 即将支持 PHP,对对对,这是世界上最好的语言;
- 不仅仅是 Chat RoBot : 如果你愿意,可以在本框架上搭建网站、图片服务器、资源共享平台、并发请求等服务,尽情释放你的创造力.
# 未来
* [ ] ...

- [ ] ...
> 后台目前只有一个蹩脚的前端(本人),如果有前端工程师对此感兴趣,请联系我~


# 安装
参见 [安装文档](./md/init.md)
# 开发
[开发文档](https://cdle.github.io/sillyGirl)
> 如果是手机端浏览开发文档,请点击开发文档左下角的按钮手动打开侧边栏目录。
> 如果你是纯小白可以了解内置插件系统 [开发文档](./md/goja.md),快速进行插件开发
# 其他
[Github](https://github.com/cdle/sillyGirl)
[TG频道](https://t.me/kczz2021)
[TG群组](https://t.me/trialerr)
[赞助列表](./sponsors.md)

[Github](https://github.com/cdle/sillyGirl)
[TG 频道](https://t.me/kczz2021)
[TG 群组](https://t.me/trialerr)
[赞助列表](./sponsors.md)
## 请喝茶 ?
[联系到我](https://t.me/cdle1994)
[联系到我](https://t.me/cdle1994)
您的支持是我更新的动力,Thank~
## 免责声明

> 任何用户在使用由 Cdle(以下简称「本团队」)研发的机器人框架傻妞前,请您仔细阅读并透彻理解本声明。您可以选择不使用傻妞框架,若您一旦使用傻妞框架,您的使用行为即被视为对本声明全部内容的认可和接受。
1. 傻妞框架是一款免费的纯Nodejs框架,主要用于更高效地开发会话应答式程序。且傻妞框架并不具备「互联网接入、网络数据存储、通讯传输以及窃取用户隐私」中的任何一项与用户数据等信息相关的动态功能。
2. 傻妞框架仅是运行JavaScript程序的服务端框架,其尊重并保护所有用户的个人隐私权,不窃取任何用户计算机中的信息。更不具备用户数据存储等网络传输功能。
3. 本框架的初衷是帮助广大同学认识Node.js,并更好利用Node.js进行学术研究,用户在框架上做的所有改动、开发的任何插件均与本框架无关。
4. 本框架内使用的部分包括但不限于字体、npm库等资源来源于互联网,如果出现侵权可联系本框架移除。
1. 傻妞框架是一款免费的机器人框架,主要用于更高效地开发会话应答式程序。且傻妞框架并不具备「互联网接入、网络数据存储、通讯传输以及窃取用户隐私」中的任何一项与用户数据等信息相关的动态功能。
2. 傻妞框架仅是运行 Golang/Node/Python 等程序的服务端框架,其尊重并保护所有用户的个人隐私权,不窃取任何用户计算机中的信息。更不具备用户数据存储等网络传输功能。
3. 本框架的初衷是帮助广大同学认识 Golang,并更好利用 Golang 进行学术研究,用户在框架上做的所有改动、开发的任何插件均与本框架无关。
4. 本框架内使用的部分包括但不限于字体、npm 库等资源来源于互联网,如果出现侵权可联系本框架移除。
5. 由于使用本框架产生的包括由于本协议或由于使用或无法使用本框架而引起的任何性质的任何直接、间接、特殊、偶然或结果性损害(包括但不限于因商誉损失、停工、计算机故障或故障引起的损害赔偿,或任何及所有其他商业损害或损失)由使用者负责。
6. 您承诺秉着合法、合理的原则使用傻妞框架,不利用傻妞框架进行任何违法、侵害他人合法利益等恶意的行为,亦不将傻妞框架运用于任何违反我国法律法规的 Web 平台。
7. 任何单位或个人因下载使用傻妞框架而产生的任何意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带或衍生的损失等),本团队不承担任何法律责任。
Expand All @@ -72,4 +143,3 @@ _
13. 如果本声明的任何部分被认为无效或不可执行,则该部分将被解释为反映本团队的初衷,其余部分仍具有完全效力。不可执行的部分声明,并不构成我们放弃执行该声明的权利。
14. 本团队有权随时对本声明条款及附件内容进行单方面的变更,并以消息推送、网页公告等方式予以公布,公布后立即自动生效,无需另行单独通知;若您在本声明内容公告变更后继续使用的,表示您已充分阅读、理解并接受修改后的声明内容。
15. 本仓库部分开已开源代码遵循 MIT 开源许可协议。

124 changes: 95 additions & 29 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,67 +4,134 @@

<font size=4>一个不太有用的机器人,我愿称之为 **《废物》**.</font>

[开发文档](https://cdle.github.io/sillyGirl) | [Github](https://github.com/cdle/sillyGirl) | [TG频道](https://t.me/kczz2021) | [赞助列表](./sponsors.md)
[开发文档](https://cdle.github.io/sillyGirl) | [Github](https://github.com/cdle/sillyGirl) | [TG 频道](https://t.me/kczz2021) | [赞助列表](./sponsors.md)

\_



_
</div>

> **傻妞 是一个开箱即用的 社交平台交互 框架。它基于OOP函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序**
> **傻妞 是一个开箱即用的 社交平台交互 框架。它基于 OOP 函数响应式编程,具有占用小、响应快、开发易等特点,允许开发者创建高度可测试、可扩展、松散耦合且易于维护的应用程序**
# 特性
* 多平台多账户接入系统 : 2个qq/3个wx/4个tg? so easy!;
* 基于Golang OOP函数响应式编程 :占用小,响应快,开发易 ;
* 极简的插件开发 : 系统高度封装,提供简便人性化的系统方法,随心所欲开发插件;
* 支持多种开发语言 :
* 内置Javascript引擎,完整支持 ECMAScript 5.1,快速、便捷、门槛低;
* 支持NodeJs,尽情使用其提供的 async/await/Promise 语法糖,可以自由控制异步同步;
* 支持Python3,简洁明了的语法、强大的标准库以及社区优势;
* 即将支持PHP,对对对,这是世界上最好的语言;
* 不仅仅是Chat RoBot : 如果你愿意,可以在本框架上搭建网站、图片服务器、资源共享平台、并发请求等服务,尽情释放你的创造力.

- 多平台多账户接入系统 : 2 个 qq/3 个 wx/4 个 tg? so easy!;
- 用户可以前往插件市场,一键安装自己想要接入聊天工具,简单配置即可使用
![开箱即用的适配器](md/image/use/adapters.png)
- 开发者可以通过 Adapter 自由接入聊天工具,以下是接入`tailchat`的简单插件例子

```javascript
/**
* @title Tailchat
* @create_at 2023-08-05 21:16:32
* @description 🐒配置详见 https://tailchat.msgbyte.com/zh-Hans/docs/advanced-usage/openapp/ws
* @author 猫咪
* @version v1.0.3
* @form {key: "tailchat.APPID", title: "APP ID", required: true }
* @form {key: "tailchat.APPSECRET", title: "APP SECRET", required: true }
* @form {key: "tailchat.HOST", title: "HOST", required: true, tooltip: "服务器http地址" }
* @service true
* @icon https://tailchat.msgbyte.com/zh-Hans/img/logo.svg
* @public true
* @class 机器人
*/

const {
Bucket,
utils: { parseCQText },
Adapter,
} = require("sillygirl");
const { URL } = require("url");

(async () => {
const platform = "tailchat";
const config = new Bucket(platform);
const { TailchatWsClient } = require("tailchat-client-sdk");

let HOST = await config.get("HOST");
let APPID = await config.get("APPID");
let APPSECRET = await config.get("APPSECRET");

const parsedUrl = new URL(HOST);
HOST = `${parsedUrl.protocol}//${parsedUrl.host}`;

if (!HOST || !APPID || !APPSECRET) {
console.error("require param: HOST, APPID, APPSECRET");
process.exit(1);
}

const client = new TailchatWsClient(HOST, APPID, APPSECRET);

client.connect().then(async () => {
const bot_info = await client.whoami();
const adapter = new Adapter({
platform, //平台简称
bot_id: bot_info.userId, //机器人ID
replyHandler: async ({ content, chat_id: converseId, groupId }) => {
client.sendMessage({ converseId, groupId: groupId ?? "", content }); //往社交平台发送消息
},
}); // 初始化适配器
client.onMessage(({ content, author: user_id, groupId, converseId }) => {
adapter.receive({
user_id,
chat_id: converseId,
content,
groupId,
}); //向框架发送消息
});
});
})();
```
- 基于 Golang OOP 函数响应式编程 :占用小,响应快,开发易 ;
- 极简的插件设计模式
- 系统高度封装,提供简便人性化的系统方法,随心所欲开发插件;
- 用户可以轻松安装已发布插件,免去部署环境等繁琐操作
![插件市场](md/image/use/market.png)
- 支持多种开发语言 :
- 内置 Javascript 引擎,完整支持 ECMAScript 5.1,快速、便捷、门槛低;
- 支持 NodeJs,尽情使用其提供的 async/await/Promise 语法糖,可以自由控制异步同步;
- 支持 Python3,简洁明了的语法、强大的标准库以及社区优势;
- 即将支持 PHP,对对对,这是世界上最好的语言;
- 不仅仅是 Chat RoBot : 如果你愿意,可以在本框架上搭建网站、图片服务器、资源共享平台、并发请求等服务,尽情释放你的创造力.
# 未来
* [ ] ...

- [ ] ...
> 后台目前只有一个蹩脚的前端(本人),如果有前端工程师对此感兴趣,请联系我~


# 安装
参见 [安装文档](./md/init.md)
# 开发
[开发文档](https://cdle.github.io/sillyGirl)
> 如果是手机端浏览开发文档,请点击开发文档左下角的按钮手动打开侧边栏目录。
> 如果你是纯小白可以了解内置插件系统 [开发文档](./md/goja.md),快速进行插件开发
# 其他
[Github](https://github.com/cdle/sillyGirl)
[TG频道](https://t.me/kczz2021)
[TG群组](https://t.me/trialerr)
[赞助列表](./sponsors.md)

[Github](https://github.com/cdle/sillyGirl)
[TG 频道](https://t.me/kczz2021)
[TG 群组](https://t.me/trialerr)
[赞助列表](./sponsors.md)
## 请喝茶 ?
[联系到我](https://t.me/cdle1994)
[联系到我](https://t.me/cdle1994)
您的支持是我更新的动力,Thank~
## 免责声明

> 任何用户在使用由 Cdle(以下简称「本团队」)研发的机器人框架傻妞前,请您仔细阅读并透彻理解本声明。您可以选择不使用傻妞框架,若您一旦使用傻妞框架,您的使用行为即被视为对本声明全部内容的认可和接受。
1. 傻妞框架是一款免费的机器人框架,主要用于更高效地开发会话应答式程序。且傻妞框架并不具备「互联网接入、网络数据存储、通讯传输以及窃取用户隐私」中的任何一项与用户数据等信息相关的动态功能。
2. 傻妞框架仅是运行Golang/Node/Python等程序的服务端框架,其尊重并保护所有用户的个人隐私权,不窃取任何用户计算机中的信息。更不具备用户数据存储等网络传输功能。
3. 本框架的初衷是帮助广大同学认识Golang,并更好利用Golang进行学术研究,用户在框架上做的所有改动、开发的任何插件均与本框架无关。
4. 本框架内使用的部分包括但不限于字体、npm库等资源来源于互联网,如果出现侵权可联系本框架移除。
2. 傻妞框架仅是运行 Golang/Node/Python 等程序的服务端框架,其尊重并保护所有用户的个人隐私权,不窃取任何用户计算机中的信息。更不具备用户数据存储等网络传输功能。
3. 本框架的初衷是帮助广大同学认识 Golang,并更好利用 Golang 进行学术研究,用户在框架上做的所有改动、开发的任何插件均与本框架无关。
4. 本框架内使用的部分包括但不限于字体、npm 库等资源来源于互联网,如果出现侵权可联系本框架移除。
5. 由于使用本框架产生的包括由于本协议或由于使用或无法使用本框架而引起的任何性质的任何直接、间接、特殊、偶然或结果性损害(包括但不限于因商誉损失、停工、计算机故障或故障引起的损害赔偿,或任何及所有其他商业损害或损失)由使用者负责。
6. 您承诺秉着合法、合理的原则使用傻妞框架,不利用傻妞框架进行任何违法、侵害他人合法利益等恶意的行为,亦不将傻妞框架运用于任何违反我国法律法规的 Web 平台。
7. 任何单位或个人因下载使用傻妞框架而产生的任何意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带或衍生的损失等),本团队不承担任何法律责任。
Expand All @@ -76,4 +143,3 @@ _
13. 如果本声明的任何部分被认为无效或不可执行,则该部分将被解释为反映本团队的初衷,其余部分仍具有完全效力。不可执行的部分声明,并不构成我们放弃执行该声明的权利。
14. 本团队有权随时对本声明条款及附件内容进行单方面的变更,并以消息推送、网页公告等方式予以公布,公布后立即自动生效,无需另行单独通知;若您在本声明内容公告变更后继续使用的,表示您已充分阅读、理解并接受修改后的声明内容。
15. 本仓库部分开已开源代码遵循 MIT 开源许可协议。

2 changes: 1 addition & 1 deletion docs/md/develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ const {

```python
# python
from sillygirl import Bucket, Adapter
from sillygirl import Bucket
import asyncio

test = Bucket("test")
Expand Down
Binary file added docs/md/image/use/adapters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/md/image/use/market.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3bbbac0

Please sign in to comment.