rename MessageEmbed -> MessageEmbedFieldBuilder
This commit is contained in:
parent
438cca1146
commit
704928d9b4
|
@ -161,8 +161,8 @@ func (h *handler) checkEnnoblements() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
localizer := message.NewLocalizer(g.Server.Lang)
|
localizer := message.NewLocalizer(g.Server.Lang)
|
||||||
lostVillagesMsg := &discord.MessageEmbed{}
|
lostVillagesMsg := &discord.MessageEmbedFieldBuilder{}
|
||||||
conqueredVillagesMsg := &discord.MessageEmbed{}
|
conqueredVillagesMsg := &discord.MessageEmbedFieldBuilder{}
|
||||||
for _, obs := range g.Observations {
|
for _, obs := range g.Observations {
|
||||||
enblmnts, ok := ennoblementsByServerKey[obs.Server]
|
enblmnts, ok := ennoblementsByServerKey[obs.Server]
|
||||||
version := twutil.FindVersionByCode(versions, twmodel.VersionCodeFromServerKey(obs.Server))
|
version := twutil.FindVersionByCode(versions, twmodel.VersionCodeFromServerKey(obs.Server))
|
||||||
|
|
|
@ -112,7 +112,7 @@ func (s *Session) translateCoords(ctx *commandCtx, m *discordgo.MessageCreate) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := &MessageEmbed{}
|
msg := &MessageEmbedFieldBuilder{}
|
||||||
for _, village := range list.Items {
|
for _, village := range list.Items {
|
||||||
villageURL := twurlbuilder.BuildVillageURL(ctx.server.CoordsTranslation, version.Host, village.ID)
|
villageURL := twurlbuilder.BuildVillageURL(ctx.server.CoordsTranslation, version.Host, village.ID)
|
||||||
playerName := "-"
|
playerName := "-"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package discord
|
package discord
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/bwmarrin/discordgo"
|
"github.com/bwmarrin/discordgo"
|
||||||
|
@ -61,7 +62,6 @@ func (e *Embed) AddField(name, value string) *Embed {
|
||||||
})
|
})
|
||||||
|
|
||||||
return e
|
return e
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Embed) SetFields(fields []*discordgo.MessageEmbedField) *Embed {
|
func (e *Embed) SetFields(fields []*discordgo.MessageEmbedField) *Embed {
|
||||||
|
@ -235,39 +235,50 @@ func (e *Embed) TruncateFooter() *Embed {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
type MessageEmbed struct {
|
type MessageEmbedFieldBuilder struct {
|
||||||
chunks []string
|
chunks []string
|
||||||
index int
|
index int
|
||||||
|
name string
|
||||||
mutex sync.Mutex
|
mutex sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg *MessageEmbed) IsEmpty() bool {
|
func (b *MessageEmbedFieldBuilder) SetName(name string) {
|
||||||
return len(msg.chunks) == 0
|
b.mutex.Lock()
|
||||||
|
defer b.mutex.Unlock()
|
||||||
|
b.name = name
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg *MessageEmbed) Append(m string) {
|
func (b *MessageEmbedFieldBuilder) IsEmpty() bool {
|
||||||
msg.mutex.Lock()
|
return len(b.chunks) == 0
|
||||||
defer msg.mutex.Unlock()
|
}
|
||||||
for len(msg.chunks) < msg.index+1 {
|
|
||||||
msg.chunks = append(msg.chunks, "")
|
func (b *MessageEmbedFieldBuilder) Append(m string) {
|
||||||
|
b.mutex.Lock()
|
||||||
|
defer b.mutex.Unlock()
|
||||||
|
for len(b.chunks) < b.index+1 {
|
||||||
|
b.chunks = append(b.chunks, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(m)+len(msg.chunks[msg.index]) > EmbedLimitFieldValue {
|
if len(m)+len(b.chunks[b.index]) > EmbedLimitFieldValue {
|
||||||
msg.chunks = append(msg.chunks, m)
|
b.chunks = append(b.chunks, m)
|
||||||
msg.index++
|
b.index++
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.chunks[msg.index] += m
|
b.chunks[b.index] += m
|
||||||
}
|
}
|
||||||
|
|
||||||
func (msg *MessageEmbed) ToMessageEmbedFields() []*discordgo.MessageEmbedField {
|
func (b *MessageEmbedFieldBuilder) ToMessageEmbedFields() []*discordgo.MessageEmbedField {
|
||||||
msg.mutex.Lock()
|
b.mutex.Lock()
|
||||||
defer msg.mutex.Unlock()
|
defer b.mutex.Unlock()
|
||||||
var fields []*discordgo.MessageEmbedField
|
var fields []*discordgo.MessageEmbedField
|
||||||
for _, chunk := range msg.chunks {
|
name := b.name
|
||||||
|
if name == "" {
|
||||||
|
name = "Field"
|
||||||
|
}
|
||||||
|
for i, chunk := range b.chunks {
|
||||||
fields = append(fields, &discordgo.MessageEmbedField{
|
fields = append(fields, &discordgo.MessageEmbedField{
|
||||||
Name: "-",
|
Name: name + strconv.Itoa(i+1),
|
||||||
Value: chunk,
|
Value: chunk,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -732,7 +732,7 @@ func (s *Session) handleObservationsCommand(ctx *commandCtx, m *discordgo.Messag
|
||||||
Code: versionCodes,
|
Code: versionCodes,
|
||||||
})
|
})
|
||||||
|
|
||||||
msg := &MessageEmbed{}
|
msg := &MessageEmbedFieldBuilder{}
|
||||||
if len(observations) <= 0 || err != nil || versionList == nil || versionList.Items == nil {
|
if len(observations) <= 0 || err != nil || versionList == nil || versionList.Items == nil {
|
||||||
msg.Append("-")
|
msg.Append("-")
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -428,7 +428,7 @@ func (s *Session) handleTribeCommand(ctx *commandCtx, m *discordgo.MessageCreate
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := &MessageEmbed{}
|
msg := &MessageEmbedFieldBuilder{}
|
||||||
for i, player := range playerList.Items {
|
for i, player := range playerList.Items {
|
||||||
if player == nil {
|
if player == nil {
|
||||||
continue
|
continue
|
||||||
|
|
Reference in New Issue