Skip to content

Commit a7b7a88

Browse files
committed
Update API
1 parent db521e4 commit a7b7a88

9 files changed

Lines changed: 633 additions & 6 deletions

File tree

app/console.go

Lines changed: 94 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ func mainMenu() {
3636
fmt.Println(" 1) 그룹 관리")
3737
fmt.Println(" 2) 메시지 관리")
3838
fmt.Println(" 3) 계정 관리")
39+
fmt.Println(" 4) 프로필 관리")
40+
fmt.Println(" 5) 전역 음소거(Global Mute)")
41+
fmt.Println(" 6) 운영/진단(Ops)")
42+
fmt.Println(" r) Raw API 호출(모든 엔드포인트)")
3943
fmt.Println(" q) 종료")
4044
}
4145

@@ -58,14 +62,16 @@ func groupMenu() {
5862
// 메시지 전송 하위 메뉴
5963
func messageMenu() {
6064
fmt.Println("------------------------------")
61-
fmt.Println("[메시지 전송]")
62-
fmt.Println(" 1) 시스템 메시지 전송")
63-
fmt.Println(" 2) 그룹 일반 텍스트 전송")
64-
fmt.Println(" 3) 1:1(C2C) 텍스트 전송")
65+
fmt.Println("[메시지 관리]")
66+
fmt.Println(" 1) 그룹 메시지 전송")
67+
fmt.Println(" 2) 1:1 메시지 전송")
68+
fmt.Println(" 3) 그룹 시스템 알림")
6569
fmt.Println(" 4) 그룹 히스토리 조회")
6670
fmt.Println(" 5) 그룹 메시지 회수")
67-
fmt.Println(" b) 뒤로가기")
68-
fmt.Println(" q) 종료")
71+
fmt.Println(" 6) 1:1(C2C) 텍스트(여러 명)")
72+
fmt.Println(" 7) 1:1 읽음 처리(AdminSetMsgRead)")
73+
fmt.Println(" 8) 1:1 메시지 회수(AdminMsgWithdraw)")
74+
fmt.Println(" 9) 1:1 미읽음 개수 조회")
6975
}
7076

7177
// 계정 관리 하위 메뉴
@@ -76,6 +82,8 @@ func accountMenu() {
7682
fmt.Println(" 2) 계정 체크(AccountCheck)")
7783
fmt.Println(" 3) 강제 로그아웃(Kick)")
7884
fmt.Println(" 4) 온라인 상태 조회(QueryOnlineStatus)")
85+
fmt.Println(" 5) 계정 다중 등록(MultiAccountImport)")
86+
fmt.Println(" 6) 계정 삭제(AccountDelete)")
7987
fmt.Println(" b) 뒤로가기")
8088
fmt.Println(" q) 종료")
8189
}
@@ -165,6 +173,14 @@ func runMessageMenu(ctx context.Context, c *im.Client, r *bufio.Reader) {
165173
handleGroupHistory(ctx, c, r)
166174
case "5":
167175
handleGroupRecall(ctx, c, r)
176+
case "6":
177+
handleBatchC2CText(ctx, c, r)
178+
case "7":
179+
handleAdminSetMsgRead(ctx, c, r)
180+
case "8":
181+
handleAdminWithdrawC2C(ctx, c, r)
182+
case "9":
183+
handleGetC2CUnread(ctx, c, r)
168184
case "b":
169185
return
170186
case "q", "quit", "exit":
@@ -190,6 +206,7 @@ func runAccountMenu(ctx context.Context, c *im.Client, r *bufio.Reader) {
190206
handleKick(ctx, c, r)
191207
case "4":
192208
handleQueryOnlineStatus(ctx, c, r)
209+
193210
case "b":
194211
return
195212
case "q", "quit", "exit":
@@ -228,6 +245,77 @@ func StartConsole(client *im.Client, cfg im.Config) {
228245
runMessageMenu(ctx, client, r)
229246
case "3":
230247
runAccountMenu(ctx, client, r)
248+
case "4":
249+
// 프로필 관리
250+
for {
251+
fmt.Println("------------------------------")
252+
fmt.Println("[프로필 관리]")
253+
fmt.Println(" 1) 프로필 설정(PortraitSet)")
254+
fmt.Println(" 2) 프로필 조회(PortraitGet)")
255+
fmt.Println(" b) 뒤로가기")
256+
csel := prompt(r, "\n번호를 입력하세요", "1 ~ 2")
257+
fmt.Println()
258+
csel = strings.ToLower(csel)
259+
if csel == "b" {
260+
break
261+
}
262+
switch csel {
263+
case "1":
264+
handlePortraitSet(ctx, client, r)
265+
case "2":
266+
handlePortraitGet(ctx, client, r)
267+
default:
268+
fmt.Println("알 수 없는 선택입니다.")
269+
}
270+
}
271+
case "5":
272+
// 전역 음소거
273+
for {
274+
fmt.Println("------------------------------")
275+
fmt.Println("[전역 음소거]")
276+
fmt.Println(" 1) 설정(SetNoSpeaking)")
277+
fmt.Println(" 2) 조회(GetNoSpeaking)")
278+
fmt.Println(" b) 뒤로가기")
279+
gsel := prompt(r, "\n번호를 입력하세요", "1 ~ 2")
280+
fmt.Println()
281+
gsel = strings.ToLower(gsel)
282+
if gsel == "b" {
283+
break
284+
}
285+
switch gsel {
286+
case "1":
287+
handleSetNoSpeaking(ctx, client, r)
288+
case "2":
289+
handleGetNoSpeaking(ctx, client, r)
290+
default:
291+
fmt.Println("알 수 없는 선택입니다.")
292+
}
293+
}
294+
case "6":
295+
// 운영/진단
296+
for {
297+
fmt.Println("------------------------------")
298+
fmt.Println("[운영/진단]")
299+
fmt.Println(" 1) 운영 데이터 조회(GetAppInfo)")
300+
fmt.Println(" 2) 서버 IP 조회(GetIPList)")
301+
fmt.Println(" b) 뒤로가기")
302+
osel := prompt(r, "\n번호를 입력하세요", "1 ~ 2")
303+
fmt.Println()
304+
osel = strings.ToLower(osel)
305+
if osel == "b" {
306+
break
307+
}
308+
switch osel {
309+
case "1":
310+
handleGetAppInfo(ctx, client, r)
311+
case "2":
312+
handleGetIPList(ctx, client, r)
313+
default:
314+
fmt.Println("알 수 없는 선택입니다.")
315+
}
316+
}
317+
case "r":
318+
handleRawAPICall(ctx, client, r)
231319
case "q", "quit", "exit":
232320
fmt.Println("\n종료합니다... 👋")
233321
return

0 commit comments

Comments
 (0)