mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-13 12:19:54 +01:00
64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/bwmarrin/discordgo"
|
|
"github.com/gookit/color"
|
|
)
|
|
|
|
func SendAppointBroadcast(creator string, app *Appointment) {
|
|
if app != nil && discc != nil {
|
|
watchData, err := GetAnimeWatchFromDb(app.Anime)
|
|
if err != nil {
|
|
color.Errorln(err.Error())
|
|
return
|
|
}
|
|
anime, err := SearchAnime(app.Anime)
|
|
if err != nil {
|
|
color.Errorln(err.Error())
|
|
return
|
|
}
|
|
|
|
var msgStart strings.Builder
|
|
for _, u := range watchData.Users {
|
|
uData, err := ReadUser(u.Username)
|
|
if err != nil || uData.DiscordID == 0 {
|
|
continue
|
|
}
|
|
msgStart.WriteString(fmt.Sprintf("<@%d>", uData.DiscordID))
|
|
}
|
|
|
|
msgs := fmt.Sprintf("🗓️ New appointment for [%s](https://anime.hanami.family/anime/%d) at <t:%d:F> <t:%d:R>", anime.Title, app.Anime, app.Time.Unix(), app.Time.Unix())
|
|
msge := discordgo.MessageEmbed{
|
|
Description: msgs,
|
|
URL: fmt.Sprintf("https://anime.hanami.family/anime/%d", app.Anime),
|
|
Thumbnail: &discordgo.MessageEmbedThumbnail{URL: anime.ImageLargeURL},
|
|
Color: 7187428,
|
|
Footer: &discordgo.MessageEmbedFooter{
|
|
Text: "huso " + husoVersion,
|
|
},
|
|
}
|
|
|
|
user, _, err := GetUserData(creator)
|
|
if err == nil {
|
|
msge.Author = &discordgo.MessageEmbedAuthor{
|
|
Name: user.Username,
|
|
IconURL: user.ImageURL,
|
|
URL: fmt.Sprintf("https://anime.hanami.family/user/%s", creator),
|
|
}
|
|
}
|
|
|
|
msgc := discordgo.MessageSend{
|
|
Content: msgStart.String(),
|
|
Embeds: []*discordgo.MessageEmbed{&msge},
|
|
}
|
|
_, err = discc.ChannelMessageSendComplex("998277590609559632", &msgc)
|
|
|
|
if err != nil {
|
|
color.Errorln(err.Error())
|
|
}
|
|
}
|
|
}
|