mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-13 13:59:53 +01:00
Compare commits
3 Commits
3efd003424
...
ecba4d68e6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecba4d68e6 | ||
|
|
1a075e79ff | ||
|
|
12c69818ce |
2
huso.go
2
huso.go
@@ -20,7 +20,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
husoVersion = "1.3"
|
husoVersion = "1.4"
|
||||||
registerSecret = "綾波レイ"
|
registerSecret = "綾波レイ"
|
||||||
seasonStrJikan = "seasons/"
|
seasonStrJikan = "seasons/"
|
||||||
userApiJikan = "users/"
|
userApiJikan = "users/"
|
||||||
|
|||||||
44
labersack.go
44
labersack.go
@@ -4,22 +4,58 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/bwmarrin/discordgo"
|
||||||
"github.com/gookit/color"
|
"github.com/gookit/color"
|
||||||
)
|
)
|
||||||
|
|
||||||
func SendAppointBroadcast(creator string, app *Appointment) {
|
func SendAppointBroadcast(creator string, app *Appointment) {
|
||||||
if app != nil && discc != nil {
|
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
|
var msgStart strings.Builder
|
||||||
for _, u := range app.Users {
|
for _, u := range watchData.Users {
|
||||||
uData, err := ReadUser(u)
|
uData, err := ReadUser(u.Username)
|
||||||
if err != nil || uData.DiscordID == 0 {
|
if err != nil || uData.DiscordID == 0 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
msgStart.WriteString(fmt.Sprintf("<@%d>", uData.DiscordID))
|
msgStart.WriteString(fmt.Sprintf("<@%d>", uData.DiscordID))
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := fmt.Sprintf("📺 %s%s created appointment for %d at <t:%d:F>", msgStart.String(), creator, app.Anime, app.Time.Unix())
|
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())
|
||||||
_, err := discc.ChannelMessageSend("998277590609559632", msg)
|
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 {
|
if err != nil {
|
||||||
color.Errorln(err.Error())
|
color.Errorln(err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ func Arbeit() {
|
|||||||
} else {
|
} else {
|
||||||
cleared := 0
|
cleared := 0
|
||||||
for _, a := range appoints {
|
for _, a := range appoints {
|
||||||
if a.Time.Before(time.Now().Add(time.Hour * 22)) {
|
if a.Time.Add(time.Hour * 22).Before(time.Now()) {
|
||||||
// appointment expired
|
// appointment expired
|
||||||
keyBytes := Int64AndDateToBytes(a.Anime, a.Time)
|
keyBytes := Int64AndDateToBytes(a.Anime, a.Time)
|
||||||
err = DbDelete(bucketAppoint, string(keyBytes))
|
err = DbDelete(bucketAppoint, string(keyBytes))
|
||||||
|
|||||||
13
schaffer.go
13
schaffer.go
@@ -253,6 +253,19 @@ func AddToChat(old, new, user string) string {
|
|||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetAnimeWatchFromDb(animeId int64) (*AnimeUser, error) {
|
||||||
|
dbAnime, err := ReadAnimeUsers()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
for _, a := range dbAnime {
|
||||||
|
if a.Anime == animeId {
|
||||||
|
return &a, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil, errors.New("anime not found")
|
||||||
|
}
|
||||||
|
|
||||||
func CheckAnimeExistInDb(animeId int64) (bool, error) {
|
func CheckAnimeExistInDb(animeId int64) (bool, error) {
|
||||||
dbAnime, err := ReadAnimeUsers()
|
dbAnime, err := ReadAnimeUsers()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user