🔥 Removed pack size stats
I add /stats command and counters later
This commit is contained in:
parent
45c0c93ea9
commit
79d45575a0
|
@ -15,13 +15,13 @@ func Delete(msg *tg.Message, pack bool) {
|
|||
T, err := i18n.SwitchTo(msg.From.LanguageCode)
|
||||
errors.Check(err)
|
||||
|
||||
_, total, err := db.UserStickers(msg.From.ID, 0, "")
|
||||
stickers, err := db.GetUserStickers(msg.From.ID, 0, "")
|
||||
errors.Check(err)
|
||||
|
||||
_, err = bot.Bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errors.Check(err)
|
||||
|
||||
if total <= 0 {
|
||||
if len(stickers) <= 0 {
|
||||
err = db.ChangeUserState(msg.From.ID, models.StateNone)
|
||||
errors.Check(err)
|
||||
|
||||
|
|
|
@ -15,13 +15,13 @@ func Reset(msg *tg.Message) {
|
|||
T, err := i18n.SwitchTo(msg.From.LanguageCode)
|
||||
errors.Check(err)
|
||||
|
||||
_, total, err := db.UserStickers(msg.From.ID, 0, "")
|
||||
stickers, err := db.GetUserStickers(msg.From.ID, 0, "")
|
||||
errors.Check(err)
|
||||
|
||||
_, err = bot.Bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errors.Check(err)
|
||||
|
||||
if total <= 0 {
|
||||
if len(stickers) <= 0 {
|
||||
err = db.ChangeUserState(msg.From.ID, models.StateNone)
|
||||
errors.Check(err)
|
||||
|
||||
|
|
|
@ -9,12 +9,12 @@ import (
|
|||
"github.com/tidwall/buntdb"
|
||||
)
|
||||
|
||||
// UserStickers return array of saved stickers for input UserID and his total count
|
||||
func UserStickers(userID, offset int, query string) ([]string, int, error) {
|
||||
// GetUserStickers return array of saved stickers for input UserID and his total count
|
||||
func GetUserStickers(userID, offset int, query string) ([]string, error) {
|
||||
log.Ln("Trying to get", userID, "stickers")
|
||||
var total, count int
|
||||
var i int
|
||||
var stickers []string
|
||||
offset = offset * 50
|
||||
offset *= 50
|
||||
|
||||
err := DB.View(func(tx *buntdb.Tx) error {
|
||||
return tx.AscendKeys(
|
||||
|
@ -25,12 +25,12 @@ func UserStickers(userID, offset int, query string) ([]string, int, error) {
|
|||
return true
|
||||
}
|
||||
|
||||
total++
|
||||
if count >= 51 {
|
||||
return true
|
||||
if len(stickers) == 50 {
|
||||
return false
|
||||
}
|
||||
|
||||
if total < offset {
|
||||
i++
|
||||
if i < offset {
|
||||
return true
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,6 @@ func UserStickers(userID, offset int, query string) ([]string, int, error) {
|
|||
return true
|
||||
}
|
||||
|
||||
count++
|
||||
stickers = append(stickers, subKeys[5])
|
||||
return true
|
||||
},
|
||||
|
@ -47,8 +46,8 @@ func UserStickers(userID, offset int, query string) ([]string, int, error) {
|
|||
|
||||
if err == buntdb.ErrNotFound {
|
||||
log.Ln("Not found stickers")
|
||||
return nil, total, nil
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
return stickers, total, err
|
||||
return stickers, err
|
||||
}
|
|
@ -18,7 +18,7 @@ func ChannelPost(post *tg.Message) {
|
|||
return
|
||||
}
|
||||
|
||||
users, err := db.Users()
|
||||
users, err := db.GetUsers()
|
||||
errors.Check(err)
|
||||
|
||||
for i := range users {
|
||||
|
|
|
@ -20,7 +20,7 @@ func InlineQuery(inlineQuery *tg.InlineQuery) {
|
|||
inlineQuery.Query = fixedQuery
|
||||
}
|
||||
|
||||
answer := &tg.AnswerInlineQueryParameters{}
|
||||
answer := new(tg.AnswerInlineQueryParameters)
|
||||
answer.InlineQueryID = inlineQuery.ID
|
||||
answer.CacheTime = 1
|
||||
answer.IsPersonal = true
|
||||
|
@ -48,46 +48,31 @@ func InlineQuery(inlineQuery *tg.InlineQuery) {
|
|||
)
|
||||
errors.Check(err)
|
||||
|
||||
totalStickers := len(stickers)
|
||||
if totalStickers == 0 {
|
||||
if offset == 0 {
|
||||
if inlineQuery.Query != "" {
|
||||
// If search stickers by emoji return 0 results
|
||||
answer.SwitchPrivateMessageText = T(
|
||||
"button_inline_nothing", map[string]interface{}{
|
||||
"Query": inlineQuery.Query,
|
||||
},
|
||||
)
|
||||
answer.SwitchPrivateMessageParameter = models.CommandAddSticker
|
||||
} else {
|
||||
// If query is empty and get 0 stickers
|
||||
answer.SwitchPrivateMessageText = T("button_inline_empty")
|
||||
answer.SwitchPrivateMessageParameter = models.CommandAddSticker
|
||||
}
|
||||
answer.Results = nil
|
||||
if len(stickers) == 0 {
|
||||
if offset == 0 && inlineQuery.Query != "" {
|
||||
// If search stickers by emoji return 0 results
|
||||
answer.SwitchPrivateMessageText = T(
|
||||
"button_inline_nothing", map[string]interface{}{
|
||||
"Query": inlineQuery.Query,
|
||||
},
|
||||
)
|
||||
|
||||
answer.SwitchPrivateMessageParameter = models.CommandHelp
|
||||
}
|
||||
|
||||
answer.Results = nil
|
||||
} else {
|
||||
log.Ln("STICKERS FROM REQUEST:", totalStickers)
|
||||
if totalStickers > 50 {
|
||||
log.Ln("STICKERS FROM REQUEST:", len(stickers))
|
||||
if len(stickers) == 50 {
|
||||
answer.NextOffset = strconv.Itoa(offset)
|
||||
log.Ln("NEXT OFFSET:", answer.NextOffset)
|
||||
|
||||
stickers = stickers[:totalStickers-1]
|
||||
}
|
||||
|
||||
log.Ln("Stickers after checks:", len(stickers))
|
||||
|
||||
var results = make([]interface{}, len(stickers))
|
||||
for i, sticker := range stickers {
|
||||
results[i] = tg.NewInlineQueryResultCachedSticker(sticker, sticker)
|
||||
}
|
||||
|
||||
answer.SwitchPrivateMessageText = T(
|
||||
"button_inline_search", packSize, map[string]interface{}{
|
||||
"Count": packSize,
|
||||
},
|
||||
)
|
||||
answer.SwitchPrivateMessageParameter = models.CommandHelp
|
||||
answer.Results = results
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue