add lostvillages/conqueredvillages commands functionality

This commit is contained in:
Dawid Wysokiński 2020-05-30 11:19:00 +02:00
parent 6865a2d113
commit 7c4104c9ad
1 changed files with 39 additions and 9 deletions

View File

@ -78,7 +78,9 @@ func (s *Session) handleNewMessage(_ *discordgo.Session, m *discordgo.MessageCre
case ListCommand.WithPrefix(s.cfg.CommandPrefix): case ListCommand.WithPrefix(s.cfg.CommandPrefix):
s.handleListCommand(m) s.handleListCommand(m)
case LostVillagesCommand.WithPrefix(s.cfg.CommandPrefix): case LostVillagesCommand.WithPrefix(s.cfg.CommandPrefix):
s.handleLostVillagesCommand(m)
case ConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix): case ConqueredVillagesCommand.WithPrefix(s.cfg.CommandPrefix):
s.handleConqueredVillagesCommand(m)
} }
} }
@ -86,19 +88,32 @@ func (s *Session) handleHelpCommand(m *discordgo.MessageCreate) {
s.sendHelpMessage(m.Author.Mention(), m.ChannelID) s.sendHelpMessage(m.Author.Mention(), m.ChannelID)
} }
func (s *Session) handleListCommand(m *discordgo.MessageCreate) { func (s *Session) handleLostVillagesCommand(m *discordgo.MessageCreate) {
tribes, _, err := s.cfg.TribeRepository.Fetch(context.Background(), &models.TribeFilter{ server := &models.Server{
ServerID: []string{m.GuildID}, ID: m.GuildID,
}) }
err := s.cfg.ServerRepository.Store(context.Background(), server)
if err != nil { if err != nil {
return return
} }
msg := m.Author.Mention() + " ```ID w bazie - Świat - ID plemienia \n\n" server.LostVillagesChannelID = m.ChannelID
for _, tribe := range tribes { go s.cfg.ServerRepository.Update(context.Background(), server)
msg += fmt.Sprintf(">>> %d - %s - %d\n", tribe.ID, tribe.World, tribe.TribeID) s.sendMessage(m.ChannelID,
fmt.Sprintf("%s Pomyślnie zmieniono kanał na którym będą się wyświetlać informacje o straconych wioskach.", m.Author.Mention()))
}
func (s *Session) handleConqueredVillagesCommand(m *discordgo.MessageCreate) {
server := &models.Server{
ID: m.GuildID,
} }
msg += "```" err := s.cfg.ServerRepository.Store(context.Background(), server)
s.sendMessage(m.ChannelID, msg) if err != nil {
return
}
server.ConqueredVillagesChannelID = m.ChannelID
go s.cfg.ServerRepository.Update(context.Background(), server)
s.sendMessage(m.ChannelID,
fmt.Sprintf("%s Pomyślnie zmieniono kanał na którym będą się wyświetlać informacje o podbitych wioskach.", m.Author.Mention()))
} }
func (s *Session) handleAddCommand(m *discordgo.MessageCreate, args ...string) { func (s *Session) handleAddCommand(m *discordgo.MessageCreate, args ...string) {
@ -177,6 +192,21 @@ func (s *Session) handleDeleteCommand(m *discordgo.MessageCreate, args ...string
s.sendMessage(m.ChannelID, m.Author.Mention()+` Usunięto.`) s.sendMessage(m.ChannelID, m.Author.Mention()+` Usunięto.`)
} }
func (s *Session) handleListCommand(m *discordgo.MessageCreate) {
tribes, _, err := s.cfg.TribeRepository.Fetch(context.Background(), &models.TribeFilter{
ServerID: []string{m.GuildID},
})
if err != nil {
return
}
msg := m.Author.Mention() + " ```ID w bazie - Świat - ID plemienia \n\n"
for _, tribe := range tribes {
msg += fmt.Sprintf(">>> %d - %s - %d\n", tribe.ID, tribe.World, tribe.TribeID)
}
msg += "```"
s.sendMessage(m.ChannelID, msg)
}
func (s *Session) Close() error { func (s *Session) Close() error {
return s.dg.Close() return s.dg.Close()
} }