Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CDPS #5

Merged
merged 5 commits into from
Jun 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"overrides": [
{
"files": "*.mdx",
"options": {
"parser": "mdx"
}
}
]
}
25 changes: 21 additions & 4 deletions docs/cdps/command/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,66 @@ sidebar_position: 3
---

# 指令
- CDPS 提供簡易的 CLI 工具 執行對應操作

- CDPS 提供簡易的 CLI 工具 執行對應操作。

:::note
- 下方指令 在 Source Code 下,需將 `cdps` 替換成 `python main.py`。

- 下方指令在 Source Code 下,需將 `cdps` 替換成 `python main.py`。

:::

## 查看 CDPS 的幫助訊息

- `-h` `--help`

```bash
cdps -h
```

:::note
- 可以查看 子指令 幫助訊息

- 可以查看**子指令**幫助訊息
- 範例 `cdps pack -h`

:::

## 查看 CDPS 版本

- `-v` `--version`

```bash
cdps -v
```

## 初始化 CDPS

```bash
cdps init
```

## 啟動 CDPS

- `不帶參數` `start`

```bash
cdps start
```

## 重新生成默認配置 (config.yml)

```bash
cdps gendefault
```

## 打包

```bash
cdps pack --name {資料夾名稱}
```

## 熱載入(Hot reload)

```bash
cdps plugin reload {plugin名稱}
```
```
13 changes: 8 additions & 5 deletions docs/cdps/config/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,18 @@ sidebar_position: 2
---

# 配置
- 自定義你的 CDPS 伺服器

- 自定義你的 CDPS 伺服器。

## 配置檔

- `./config.yml`

```yml
version: 1 # config 版本號
version: 1 # config 版本號

# "DEBUG" , "INFO" , "WARN" or "ERROR"
log_level: "DEBUG" # 日誌紀錄等級
log_level: "DEBUG" # 日誌紀錄等級

log_save_days: 7 # 日誌保留天數
```
log_save_days: 7 # 日誌保留天數
```
17 changes: 13 additions & 4 deletions docs/cdps/develop/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,33 @@ sidebar_position: 6
---

# 開發
- 這是關於開發 `CDPS` 的文件,如果是要開發擴充 [點擊這裡](../plugin/index.mdx)

- 這是關於開發 `CDPS` 的文件,如果是要開發擴充 [點擊這裡](../plugin)。

:::note

- 如果是一般用戶,可以略過這裡(快跑!!!)
:::

:::

## 從原始碼啟動

- clone 原始碼
- 在根目錄中使用 `python main.py` 啟動 CDPS

## 貢獻

- 至 GitHub 提交 [PR](https://github.com/ExpTechTW/CDPS/pulls)

:::tip

- 開發時應保持 `簡潔` 的原則。
- 若非所有用戶所需之功能,可以參考利用 [Inject 注入](../more/inject.mdx) 的方式實現。
- 若非所有用戶所需之功能,可以參考利用 [Inject 注入](../more/inject) 的方式實現。

:::

## 貢獻者

<a href="https://github.com/ExpTechTW/CDPS/graphs/contributors">
<img src="https://contrib.rocks/image?repo=ExpTechTW/CDPS" />
</a>
</a>
29 changes: 21 additions & 8 deletions docs/cdps/more/dependencies.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,42 @@ sidebar_position: 8
---

# 依賴關係
- 擴充 之間的 依賴關係

- **擴充**之間的依賴關係

:::note
- 這是說明 CDPS 擴充之間的依賴關係,如果要找 PyPI依賴 [點擊這裡](./pip.mdx)

- 這是說明 CDPS 擴充之間的依賴關係,如果要找 PyPI 依賴 [點擊這裡](./pip)

:::

## 聲明依賴

- 在 `cdps.json` 中 聲明

:::tip

- 依賴中 `cdps` 為必須的。

:::

```json
{
// ...
"dependencies": {
"cdps": ">=1.0.18" // 擴充所需的 CDPS 最低版本
},
// ...
// ...
"dependencies": {
"cdps": ">=1.0.18" // 擴充所需的 CDPS 最低版本
}
// ...
}
```

## 用途

- 檢查是否有執行擴充所需的其他擴充

:::tip

- 舉例 `cdps_discord` 需要 `cdps_report` 來提供 地震報告 資料。
- 上述例子 `cdps_report` 就是 `cdps_discord` 所需的依賴。
:::

:::
44 changes: 44 additions & 0 deletions docs/cdps/more/event.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
sidebar_position: 12
---

# 自定義事件註冊

- 除了 CDPS 本身,**擴充**還可以分發自己的 事件。

:::tip

- **自定義事件**是擴充之間,傳遞訊息的一種方式。

:::

## 用法

```py
# color_log ( plugin ) 分發 Log 事件
from cdps.plugin.events import Event # 導入 Event 基類
from cdps.plugin.manager import Manager # 導入 擴充管理器

class onLogEvent(Event): # 自定義事件
""" 當 輸出日誌 """

def __init__(self, log):
self.pid = log


event_manager = Manager() # 獲取 擴充管理器 實例
event_manager.call_event(onLogEvent("test")) # 觸發 自定義事件
```

```py
# discord (plugin) 獲取分發的 Log 事件 發送到 Discord
from cdps.plugin.manager import Listener, event_listener
from plugins.color_log.main import onLogEvent # 導入上述 color_log 擴充 中的 onLogEvent 事件


@event_listener(onLogEvent) # 裝飾器
class onLogListener(Listener):

def on_event(self, event):
print("-> {}".format(event.log))
```
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,29 @@ sidebar_position: 1
---

# 事件列表
- 查看可用的事件

- 查看可用的事件。

## 目錄

- onServerStartEvent
- onServerCloseEvent
- onCommandEvent

## onServerStartEvent

#### 回傳參數 `pid`

- 當伺服器被啟動

## onServerCloseEvent

#### 回傳參數 `reason(關閉原因)`

- 當伺服器被關閉

## onCommandEvent

#### 回傳參數 `command(用戶輸入內容)`
- 當用戶輸入指令到 terminal

- 當用戶輸入指令到 terminal
16 changes: 12 additions & 4 deletions docs/cdps/more/focus_load.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,30 @@ sidebar_position: 5
---

# 完全載入

- 等待擴充完全載入後,再繼續下一步動作(載入其他擴充)

:::danger

- 這個選項通常不需要使用。
- 如果不清楚此選項用意,不要輕易使用。

:::

:::tip

- 通常在使用了 `Inject 注入` 的擴充中,需要啟用此功能,確保 `Inject 注入` 完成。

:::

## 用法

- 在 `cdps.json` 中 聲明

```json
{
"version": "1.0.0",
"focus-load": true, // 新增這行
// ...
"version": "1.0.0",
"focus-load": true // 新增這行
// ...
}
```
```
27 changes: 15 additions & 12 deletions docs/cdps/more/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,20 @@ sidebar_position: 7
---

# 雜項
- 這裡紀錄著,一些瑣碎的東西

- 這裡紀錄著,一些瑣碎的東西。

## 目錄
- [事件列表](./events.mdx)
- [目錄樹](./tree.mdx)
- [多執行緒(threading)](./thread.mdx)
- [Inject 注入](./inject.mdx)
- [完全載入](./focus_load.mdx)
- [優先載入](./pre_load.mdx)
- [版本管理](./version.mdx)
- [依賴關係](./dependencies.mdx)
- [PyPI 依賴](./pip.mdx)
- [日誌紀錄](./log.mdx)
- [導入 擴充 的 函數](./plugin.mdx)

- [事件列表](./events_list)
- [目錄樹](./tree)
- [多執行緒(threading)](./thread)
- [Inject 注入](./inject)
- [完全載入](./focus_load)
- [優先載入](./pre_load)
- [版本管理](./version)
- [依賴關係](./dependencies)
- [PyPI 依賴](./pip)
- [日誌紀錄](./log)
- [導入 擴充 的 函數](./plugin)
- [自定義事件註冊](./event)
Loading
Loading