diff --git a/config.go b/config.go index 670bf5ae38533a5800ec0e2a6963cd34e90531f9..0d5c866d9fe15df2152090cbeef8bdf8ec53f8df 100644 --- a/config.go +++ b/config.go @@ -25,7 +25,7 @@ type configPayload struct { } func init() { - flag.StringVar(&configPath, "-t", "server.conf", "Specify configuration file location.") + flag.StringVar(&configPath, "c", "server.conf", "Specify configuration file location.") } func parse() { diff --git a/handler.go b/handler.go index 11e2d22cd56b22089631e41b5f1b82b0e616e56e..d896a86eb3f36e1956a020eaab5c587717d15a3d 100644 --- a/handler.go +++ b/handler.go @@ -16,26 +16,31 @@ var allowedChannels map[string]bool func handleChatInitiate(context *multiplexer.Context) { // Lookup channel in allowed map if context.Channel == nil || !allowedChannels[context.Channel.ID] { + log.Debug("Chat initiate skipped on irrelevant channel.") return } // Get event var event *discordgo.VoiceStateUpdate if e, ok := context.Event.(*discordgo.VoiceStateUpdate); !ok { + log.Debug("Chat initiate skipped on incorrect event.") return } else { event = e } if event.VoiceState != nil { if event.VoiceState.ChannelID == "" { + log.Debug("Chat initiate skipped on empty channel ID.") return } } else { + log.Debug("Chat initiate skipped on nil voice state.") return } // Lookup already existing channel if instancesUser[event.UserID] != nil { + log.Debug("Chat initiate skipped on existing channel owner.") return } @@ -53,12 +58,14 @@ func handleChatInitiate(context *multiplexer.Context) { member = u } if member == nil { + log.Debug("Chat initiate skipped on nil member.") return } // Create new instance instance := newInstance(member) if instance == nil { + log.Debug("Chat initiate skipped on nil instance.") return } @@ -70,7 +77,7 @@ func handleChatInitiate(context *multiplexer.Context) { instance.Channel.ID, context.Guild.Name, context.Guild.ID, - ) + ) // Move user to newly created volatile channel if err := session.GuildMemberMove(event.GuildID, event.UserID, &instance.Channel.ID); err != nil { diff --git a/instance.go b/instance.go index 77e762fb9006aa7cef0313956a3eb6fcf06dbc9a..e237f6357564eaa8ea7f3c05fe845406393e13ef 100644 --- a/instance.go +++ b/instance.go @@ -63,11 +63,13 @@ func newInstance(member *discordgo.Member) *chatInstance { func setupInstance(member *discordgo.Member) *chatInstance { channelID := guildMap[member.GuildID] if channelID == "" { + log.Debug("Instance setup skipped on empty channel ID.") return nil } parentID := categoryMap[channelID] if parentID == "" { + log.Debug("Instance setup skipped on emptu parent ID.") return nil } diff --git a/main.go b/main.go index d3b19c0f322ceff969f55ed78c4630136c159858..eb9bb35938901b9acd75fa3858e145c8ba4ba71f 100644 --- a/main.go +++ b/main.go @@ -12,14 +12,27 @@ import ( "syscall" ) -var session *discordgo.Session -var m = multiplexer.New() -var system = multiplexer.NewCategory("System", "System-related utilities.") +var ( + session *discordgo.Session + m = multiplexer.New() + system = multiplexer.NewCategory("System", "System-related utilities.") + verbose bool +) + +func init() { + flag.BoolVar(&verbose, "v", false, "Start up with debug logging.") +} func main() { flag.Parse() parse() + if verbose { + log.SetLevel(logrus.DebugLevel) + } else { + log.SetLevel(logrus.InfoLevel) + } + // Set discordgo log handler discordgo.Logger = func(msgL, _ int, format string, a ...interface{}) { var level logrus.Level @@ -56,7 +69,7 @@ func main() { // Open session func() { - open: + open: if err := session.Open(); err != nil { if session.Identify.Intents == discordgo.IntentsAll { log.Warnf("Wasn't able to start with full intents, some stuff might not work (%s)", err)