Skip to content

Commit 8b3be6b

Browse files
committed
feat: last shaping to forum msg
1 parent 9a630cc commit 8b3be6b

5 files changed

Lines changed: 36 additions & 17 deletions

File tree

app/configurator/ping.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package configurator
2+
3+
import (
4+
"darkbot/app/discorder"
5+
"darkbot/app/settings/logus"
6+
"darkbot/app/settings/types"
7+
"fmt"
8+
)
9+
10+
func GetPingingMessage(ChannelID types.DiscordChannelID, configurator *Configurators, Discorder *discorder.Discorder) types.PingMessage {
11+
pingMessage, err := configurator.Alerts.PingMessage.Status(ChannelID)
12+
logus.Debug("RenderAlertTemplate.PingMessage.Status", logus.OptError(err), logus.PingMessage(pingMessage))
13+
if err != nil {
14+
ownerID, err := Discorder.GetOwnerID(ChannelID)
15+
if logus.CheckWarn(err, "unable to acquire Discorder Channel Owner", logus.ChannelID(ChannelID)) {
16+
ownerID = "TestOwnerID"
17+
}
18+
pingMessage = types.PingMessage(fmt.Sprintf("<@%s>", ownerID))
19+
}
20+
return pingMessage
21+
}

app/discorder/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ type Discorder struct {
2020
dg *discordgo.Session
2121
}
2222

23-
func NewClient() Discorder {
24-
d := Discorder{}
23+
func NewClient() *Discorder {
24+
d := &Discorder{}
2525
dg, err := discordgo.New("Bot " + settings.Config.DiscorderBotToken)
2626
logus.CheckFatal(err, "failed to init discord")
2727
dg.Identify.Intents = discordgo.IntentsGuildMessages

app/forumer/run.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ type iThreadsRequester interface {
1818
GetLatestThreads(opts ...threadPageParam) ([]*forum_types.LatestThread, error)
1919
}
2020
type Forumer struct {
21-
Discorder discorder.Discorder
21+
Discorder *discorder.Discorder
2222
*configurator.Configurators
2323
threads_requester iThreadsRequester
2424
post_requester *PostRequester
@@ -126,6 +126,8 @@ func (v *Forumer) update() {
126126
continue
127127
}
128128

129+
pingMessage := configurator.GetPingingMessage(channel, v.Configurators, v.Discorder)
130+
129131
duplication_checker := discorder.NewDeduplicator(func(msgs []discorder.DiscordMessage) bool {
130132
for _, msg := range msgs {
131133
content := msg.Content
@@ -142,7 +144,11 @@ func (v *Forumer) update() {
142144
})
143145
v.Discorder.SendDeduplicatedMsg(
144146
duplication_checker, channel, func(channel types.DiscordChannelID, dg *discordgo.Session) error {
145-
dg_msg := &discordgo.MessageSend{Embed: &discordgo.MessageEmbed{}}
147+
148+
dg_msg := &discordgo.MessageSend{
149+
Content: string(pingMessage),
150+
Embed: &discordgo.MessageEmbed{},
151+
}
146152
dg_msg.Embed.Title = `✉️ You've got mail`
147153
dg_msg.Embed.Timestamp = string(new_post.LastUpdated)
148154

app/viewer/apis/apis.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
type API struct {
11-
Discorder discorder.Discorder
11+
Discorder *discorder.Discorder
1212
ChannelID types.DiscordChannelID
1313
Scrappy *scrappy.ScrappyStorage
1414
*configurator.Configurators

app/viewer/views/alert.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package views
22

33
import (
4-
"darkbot/app/settings/logus"
4+
"darkbot/app/configurator"
55
"darkbot/app/settings/types"
66
"darkbot/app/settings/utils"
77
"darkbot/app/viewer/apis"
88
_ "embed"
9-
"fmt"
109
"text/template"
1110
)
1211

@@ -24,17 +23,10 @@ type TemplateAlertInput struct {
2423
}
2524

2625
func RenderAlertTemplate(ChannelID types.DiscordChannelID, Msg string, api *apis.API) types.ViewRecord {
26+
// pingMessage, err := api.Alerts.PingMessage.Status(ChannelID)
27+
// ownerID, err := api.Discorder.GetOwnerID(ChannelID)
2728

28-
pingMessage, err := api.Alerts.PingMessage.Status(ChannelID)
29-
logus.Debug("RenderAlertTemplate.PingMessage.Status", logus.OptError(err), logus.PingMessage(pingMessage))
30-
if err != nil {
31-
ownerID, err := api.Discorder.GetOwnerID(ChannelID)
32-
if logus.CheckWarn(err, "unable to acquire Discorder Channel Owner", logus.ChannelID(ChannelID)) {
33-
ownerID = "TestOwnerID"
34-
}
35-
pingMessage = types.PingMessage(fmt.Sprintf("<@%s>", ownerID))
36-
}
37-
29+
pingMessage := configurator.GetPingingMessage(ChannelID, api.Configurators, api.Discorder)
3830
input := TemplateAlertInput{
3931
PingMessage: pingMessage,
4032
Msg: Msg,

0 commit comments

Comments
 (0)