@@ -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// 메시지 전송 하위 메뉴
5963func 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