上传聊天gm命令
This commit is contained in:
parent
70935119a4
commit
16862ec78a
@ -52,6 +52,14 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (code
|
|||||||
}
|
}
|
||||||
switch msg.Channel {
|
switch msg.Channel {
|
||||||
case pb.ChatChannel_World:
|
case pb.ChatChannel_World:
|
||||||
|
if this.module.options.GM { //判断gm命令
|
||||||
|
if code = this.module.gm.CreateCmd(session, req.Content); code == pb.ErrorCode_Success {
|
||||||
|
session.SendMsg(string(this.module.GetType()), "send", &pb.ChatSendResp{Issucc: true})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
code = pb.ErrorCode_Success
|
||||||
|
}
|
||||||
|
|
||||||
if err = this.module.modelChat.addChatMsg(worldchatkey, int64(max), msg); err != nil {
|
if err = this.module.modelChat.addChatMsg(worldchatkey, int64(max), msg); err != nil {
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
return
|
return
|
||||||
|
@ -28,11 +28,18 @@ func NewModule() core.IModule {
|
|||||||
type Chat struct {
|
type Chat struct {
|
||||||
modules.ModuleBase
|
modules.ModuleBase
|
||||||
service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口
|
service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口
|
||||||
|
options *Options
|
||||||
|
gm comm.IGm
|
||||||
api_comp *apiComp
|
api_comp *apiComp
|
||||||
configure *configureComp
|
configure *configureComp
|
||||||
modelChat *modelChatComp
|
modelChat *modelChatComp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//重构模块配置对象
|
||||||
|
func (this *Chat) NewOptions() (options core.IModuleOptions) {
|
||||||
|
return new(Options)
|
||||||
|
}
|
||||||
|
|
||||||
//模块名
|
//模块名
|
||||||
func (this *Chat) GetType() core.M_Modules {
|
func (this *Chat) GetType() core.M_Modules {
|
||||||
return comm.ModuleChat
|
return comm.ModuleChat
|
||||||
@ -42,11 +49,17 @@ func (this *Chat) GetType() core.M_Modules {
|
|||||||
func (this *Chat) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
func (this *Chat) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||||
err = this.ModuleBase.Init(service, module, options)
|
err = this.ModuleBase.Init(service, module, options)
|
||||||
this.service = service.(base.IRPCXService)
|
this.service = service.(base.IRPCXService)
|
||||||
|
this.options = options.(*Options)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Chat) Start() (err error) {
|
func (this *Chat) Start() (err error) {
|
||||||
err = this.ModuleBase.Start()
|
err = this.ModuleBase.Start()
|
||||||
|
var module core.IModule
|
||||||
|
if module, err = this.service.GetModule(comm.ModuleGM); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.gm = module.(comm.IGm)
|
||||||
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
|
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
42
modules/chat/options.go
Normal file
42
modules/chat/options.go
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
package chat
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/lego/utils/mapstructure"
|
||||||
|
"go_dreamfactory/modules"
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
IOptions interface {
|
||||||
|
modules.IOptions
|
||||||
|
}
|
||||||
|
Options struct {
|
||||||
|
modules.Options
|
||||||
|
GM bool //是否开启gm工具
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func (this *Options) GetDebug() bool {
|
||||||
|
return this.Debug
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Options) GetLog() log.ILogger {
|
||||||
|
return this.Log
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Options) LoadConfig(settings map[string]interface{}) (err error) {
|
||||||
|
if settings != nil {
|
||||||
|
if err = mapstructure.Decode(settings, &this.Options); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err = mapstructure.Decode(settings, this); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if this.Log = log.NewTurnlog(this.Debug, log.Clone("", 4)); this.Log == nil {
|
||||||
|
err = errors.New("log is nil")
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user