Documentation
¶
Index ¶
- func ClearMessages(db *sql.DB) error
- func ConvertPluginMessage(pluginMsg sdk.Message) shared.Message
- func CreateSchema(db *sql.DB)
- func GetRecentMessages(db *sql.DB) []shared.Message
- func InitDB(filepath string) *sql.DB
- func InsertEncryptedMessage(db *sql.DB, encryptedMsg *shared.EncryptedMessage)
- func InsertMessage(db *sql.DB, msg shared.Message)
- func ServeWs(hub *Hub, db *sql.DB, adminList []string, adminKey string) http.HandlerFunc
- type Client
- type Config
- type Hub
- type PluginCommandHandler
- func (h *PluginCommandHandler) GetPluginMessageChannel() <-chan sdk.Message
- func (h *PluginCommandHandler) HandlePluginCommand(cmd string, args []string, isAdmin bool) (string, error)
- func (h *PluginCommandHandler) SendMessageToPlugins(msg shared.Message)
- func (h *PluginCommandHandler) UpdateUserListForPlugins(users []string)
- type UserList
- type WSMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClearMessages ¶
func ConvertPluginMessage ¶
ConvertPluginMessage converts a plugin message to a shared message
func CreateSchema ¶
func InsertEncryptedMessage ¶
func InsertEncryptedMessage(db *sql.DB, encryptedMsg *shared.EncryptedMessage)
InsertEncryptedMessage stores an encrypted message in the database
Types ¶
type Config ¶
type Config struct { Port int `json:"port"` Admins []string `json:"admins"` AdminKey string `json:"admin_key"` }
func LoadConfig ¶
LoadConfig loads configuration from a JSON file (for backward compatibility)
func LoadConfigFromDir ¶
LoadConfigFromDir loads configuration from a directory, checking for JSON config files
type Hub ¶
type Hub struct {
// contains filtered or unexported fields
}
func (*Hub) CleanupExpiredBans ¶
func (h *Hub) CleanupExpiredBans()
CleanupExpiredBans removes expired bans from the ban list
func (*Hub) IsUserBanned ¶
IsUserBanned checks if a user is currently banned
type PluginCommandHandler ¶
type PluginCommandHandler struct {
// contains filtered or unexported fields
}
PluginCommandHandler handles plugin-related commands
func NewPluginCommandHandler ¶
func NewPluginCommandHandler(pluginManager *manager.PluginManager) *PluginCommandHandler
NewPluginCommandHandler creates a new plugin command handler
func (*PluginCommandHandler) GetPluginMessageChannel ¶
func (h *PluginCommandHandler) GetPluginMessageChannel() <-chan sdk.Message
GetPluginMessageChannel returns the channel for receiving messages from plugins
func (*PluginCommandHandler) HandlePluginCommand ¶
func (h *PluginCommandHandler) HandlePluginCommand(cmd string, args []string, isAdmin bool) (string, error)
HandlePluginCommand handles plugin-related commands
func (*PluginCommandHandler) SendMessageToPlugins ¶
func (h *PluginCommandHandler) SendMessageToPlugins(msg shared.Message)
SendMessageToPlugins sends a message to all enabled plugins
func (*PluginCommandHandler) UpdateUserListForPlugins ¶
func (h *PluginCommandHandler) UpdateUserListForPlugins(users []string)
UpdateUserListForPlugins updates the user list for plugins
type WSMessage ¶
type WSMessage struct { Type string `json:"type"` Data json.RawMessage `json:"data"` }