MCPcopy Create free account
hub / github.com/FloatTech/ZeroBot-Plugin / abortGame

Function abortGame

plugin/chess/core.go:418–442  ·  view source on GitHub ↗

abortGame 中断游戏

(room chessRoom, groupCode int64, hint string)

Source from the content-addressed store, hash-verified

416
417// abortGame 中断游戏
418func abortGame(room chessRoom, groupCode int64, hint string) (message.Message, error) {
419 var msg message.Message
420 err := room.chessGame.Draw(chess.DrawOffer)
421 if err != nil {
422 return nil, err
423 }
424 chessString := getChessString(room)
425 if len(room.chessGame.Moves()) > 4 {
426 dbService := newDBService()
427 if err := dbService.createPGN(chessString, room.whitePlayer, room.blackPlayer, room.whiteName, room.blackName); err != nil {
428 return nil, err
429 }
430 }
431
432 chessRoomMap.Delete(groupCode)
433 msg = append(msg, message.Text(hint))
434 if room.whitePlayer != 0 {
435 msg = append(msg, message.At(room.whitePlayer))
436 }
437 if room.blackPlayer != 0 {
438 msg = append(msg, message.At(room.blackPlayer))
439 }
440 msg = append(msg, message.Text("\n\n"+chessString))
441 return msg, nil
442}
443
444// getBoardElement 获取棋盘图片的消息内容
445func getBoardElement(groupCode int64) (imgMsg message.Segment, err error) {

Callers 2

abortFunction · 0.85
createGameFunction · 0.85

Calls 3

getChessStringFunction · 0.85
newDBServiceFunction · 0.85
createPGNMethod · 0.80

Tested by

no test coverage detected