bangInterceptor.go (813B)
1 package interceptors 2 3 import ( 4 "dkforest/pkg/config" 5 dutils "dkforest/pkg/database/utils" 6 "dkforest/pkg/web/handlers/interceptors/command" 7 ) 8 9 type BangInterceptor struct{} 10 11 func (i BangInterceptor) InterceptMsg(cmd *command.Command) { 12 switch cmd.Message { 13 case "!links": 14 handleLinksBangCmd(cmd) 15 case "!rtuto": 16 handleRtutoBangCmd(cmd) 17 } 18 return 19 } 20 21 func handleLinksBangCmd(cmd *command.Command) { 22 message := ` 23 Chats: 24 Black Hat Chat: ` + config.BhcOnion + ` 25 Forums: 26 CryptBB: ` + config.CryptbbOnion 27 msg, _, _ := dutils.ProcessRawMessage(cmd.DB, message, "", cmd.AuthUser.ID, cmd.Room.ID, nil, cmd.AuthUser.IsModerator(), true, false) 28 cmd.ZeroMsg(msg) 29 cmd.Err = command.ErrRedirect 30 } 31 32 func handleRtutoBangCmd(cmd *command.Command) { 33 cmd.AuthUser.ResetTutorial(cmd.DB) 34 cmd.Err = command.ErrRedirect 35 }