mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-15 19:49:53 +01:00
Embrace the pointer
This commit is contained in:
1
huso.go
1
huso.go
@@ -163,6 +163,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Arbeit()
|
Arbeit()
|
||||||
|
BissleArbeit()
|
||||||
LangeArbeit()
|
LangeArbeit()
|
||||||
|
|
||||||
go Arbeiten()
|
go Arbeiten()
|
||||||
|
|||||||
66
knecht.go
66
knecht.go
@@ -87,51 +87,57 @@ func GetUserAnimeListData(username, status string) (*AnimeListMal, []byte, error
|
|||||||
return &list, data, err
|
return &list, data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUserData(username string) (*User, []byte, error) {
|
func GetUser(username string) (*User, []byte, error) {
|
||||||
var user User
|
var user User
|
||||||
data, err := userCache.Get(username)
|
data, err := userCache.Get(username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = nil
|
err = nil
|
||||||
dataJikan, err := GetDataJikan(userApiJikan + username)
|
userp, data, err := GetUserData(username)
|
||||||
|
if err != nil {
|
||||||
|
return userp, data, err
|
||||||
|
}
|
||||||
|
userCache.Set(username, data)
|
||||||
|
return userp, data, err
|
||||||
|
} else {
|
||||||
|
err = json.Unmarshal(data, &user)
|
||||||
|
}
|
||||||
|
|
||||||
|
return &user, data, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetUserData(username string) (*User, []byte, error) {
|
||||||
|
dataJikan, err := GetDataJikan(userApiJikan + username)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
if strings.Contains(string(dataJikan), "BadResponseException") {
|
||||||
|
return nil, nil, fmt.Errorf("user not found: %s", username)
|
||||||
|
}
|
||||||
|
var userJikan UserJikan
|
||||||
|
err = json.Unmarshal(dataJikan, &userJikan)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
// workaround number #2 bcs jikan kekw
|
||||||
|
if userJikan.Data.MalID == 0 {
|
||||||
|
dataJikan, err = GetDataJikan(userApiJikan + username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
if strings.Contains(string(dataJikan), "BadResponseException") {
|
if strings.Contains(string(dataJikan), "BadResponseException") {
|
||||||
return nil, nil, fmt.Errorf("user not found: %s", username)
|
return nil, nil, fmt.Errorf("user not found: %s", username)
|
||||||
}
|
}
|
||||||
var userJikan UserJikan
|
|
||||||
err = json.Unmarshal(dataJikan, &userJikan)
|
err = json.Unmarshal(dataJikan, &userJikan)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
// workaround number #2 bcs jikan kekw
|
|
||||||
if userJikan.Data.MalID == 0 {
|
|
||||||
dataJikan, err = GetDataJikan(userApiJikan + username)
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
if strings.Contains(string(dataJikan), "BadResponseException") {
|
|
||||||
return nil, nil, fmt.Errorf("user not found: %s", username)
|
|
||||||
}
|
|
||||||
err = json.Unmarshal(dataJikan, &userJikan)
|
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if userJikan.Data.MalID == 0 {
|
|
||||||
return nil, nil, fmt.Errorf("user returned empty object: %s", username)
|
|
||||||
}
|
|
||||||
// convert to user
|
|
||||||
user = UserConvert(&userJikan)
|
|
||||||
data, err = json.Marshal(&user)
|
|
||||||
if err != nil {
|
|
||||||
return &user, data, err
|
|
||||||
}
|
|
||||||
userCache.Set(username, data)
|
|
||||||
} else {
|
|
||||||
err = json.Unmarshal(data, &user)
|
|
||||||
}
|
}
|
||||||
|
if userJikan.Data.MalID == 0 {
|
||||||
|
return nil, nil, fmt.Errorf("user returned empty object: %s", username)
|
||||||
|
}
|
||||||
|
// convert to user
|
||||||
|
user := UserConvert(&userJikan)
|
||||||
|
data, err := json.Marshal(&user)
|
||||||
return &user, data, err
|
return &user, data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ func SendAppointBroadcast(creator string, app *Appointment) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
user, _, err := GetUserData(creator)
|
user, _, err := GetUser(creator)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
msge.Author = &discordgo.MessageEmbedAuthor{
|
msge.Author = &discordgo.MessageEmbedAuthor{
|
||||||
Name: user.Username,
|
Name: user.Username,
|
||||||
@@ -84,7 +84,7 @@ func AnnounceAppointmentSoon(app *Appointment) {
|
|||||||
msgStart.WriteString(fmt.Sprintf("<@%d>", uData.DiscordID))
|
msgStart.WriteString(fmt.Sprintf("<@%d>", uData.DiscordID))
|
||||||
}
|
}
|
||||||
|
|
||||||
msgs := fmt.Sprintf("⏰ Appointment starting in <t:%d:R>!\n[%s](https://anime.hanami.family/anime/%d) at\n<t:%d:F>", app.Time.Unix(), anime.Title, app.Anime, app.Time.Unix())
|
msgs := fmt.Sprintf("⏰ Appointment starting <t:%d:R>!\n[%s](https://anime.hanami.family/anime/%d) at\n<t:%d:F>", app.Time.Unix(), anime.Title, app.Anime, app.Time.Unix())
|
||||||
msge := discordgo.MessageEmbed{
|
msge := discordgo.MessageEmbed{
|
||||||
Description: msgs,
|
Description: msgs,
|
||||||
URL: fmt.Sprintf("https://anime.hanami.family/anime/%d", app.Anime),
|
URL: fmt.Sprintf("https://anime.hanami.family/anime/%d", app.Anime),
|
||||||
|
|||||||
6
ober.go
6
ober.go
@@ -285,7 +285,7 @@ func UserGet(ctx *fasthttp.RequestCtx) {
|
|||||||
users := make([]User, 0)
|
users := make([]User, 0)
|
||||||
if usrVal != nil {
|
if usrVal != nil {
|
||||||
// get specific user
|
// get specific user
|
||||||
user, _, err := GetUserData(fmt.Sprintf("%s", usrVal))
|
user, _, err := GetUser(fmt.Sprintf("%s", usrVal))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.WriteString(err.Error())
|
ctx.WriteString(err.Error())
|
||||||
ctx.SetStatusCode(fasthttp.StatusNotFound)
|
ctx.SetStatusCode(fasthttp.StatusNotFound)
|
||||||
@@ -303,7 +303,7 @@ func UserGet(ctx *fasthttp.RequestCtx) {
|
|||||||
regUsers = make([]UserData, 0)
|
regUsers = make([]UserData, 0)
|
||||||
}
|
}
|
||||||
for _, u := range regUsers {
|
for _, u := range regUsers {
|
||||||
user, _, err := GetUserData(u.Username)
|
user, _, err := GetUser(u.Username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
addErrorToCtx(ctx, err)
|
addErrorToCtx(ctx, err)
|
||||||
return
|
return
|
||||||
@@ -424,7 +424,7 @@ func Register(ctx *fasthttp.RequestCtx) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
// check user legit
|
// check user legit
|
||||||
userData, _, err := GetUserData(register.Username)
|
userData, _, err := GetUser(register.Username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.WriteString(err.Error())
|
ctx.WriteString(err.Error())
|
||||||
ctx.SetStatusCode(fasthttp.StatusExpectationFailed)
|
ctx.SetStatusCode(fasthttp.StatusExpectationFailed)
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ func BissleArbeit() {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for _, u := range regUsers {
|
for _, u := range regUsers {
|
||||||
_, _, err = GetUserData(u.Username)
|
err = refreshUser(u.Username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
color.Errorln(err.Error())
|
color.Errorln(err.Error())
|
||||||
logOut.WriteError(err)
|
logOut.WriteError(err)
|
||||||
@@ -237,14 +237,21 @@ func refreshAnime(animeId int64) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
animeCache.Set(key, data)
|
return animeCache.Set(key, data)
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func refreshSeason(season string) error {
|
func refreshSeason(season string) error {
|
||||||
_, bytes, err := GetSeasonDataAll(season)
|
_, bytes, err := GetSeasonDataAll(season)
|
||||||
if err == nil {
|
if err != nil {
|
||||||
err = seasoncache.Set(season, bytes)
|
return err
|
||||||
}
|
}
|
||||||
return err
|
return seasoncache.Set(season, bytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
func refreshUser(username string) error {
|
||||||
|
_, data, err := GetUserData(username)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return userCache.Set(username, data)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user