neko/internal/plugins/chat/plugin.go

36 lines
628 B
Go
Raw Permalink Normal View History

2024-06-10 05:05:21 +12:00
package chat
import (
"github.com/demodesk/neko/pkg/types"
)
type Plugin struct {
config *Config
manager *Manager
}
func NewPlugin() *Plugin {
return &Plugin{
config: &Config{},
}
}
func (p *Plugin) Name() string {
return PluginName
}
func (p *Plugin) Config() types.PluginConfig {
return p.config
}
func (p *Plugin) Start(m types.PluginManagers) error {
p.manager = NewManager(m.SessionManager, p.config)
m.ApiManager.AddRouter("/chat", p.manager.Route)
m.WebSocketManager.AddHandler(p.manager.WebSocketHandler)
return p.manager.Start()
}
func (p *Plugin) Shutdown() error {
return p.manager.Shutdown()
}