🔥 Removed pack size stats

I add /stats command and counters later
This commit is contained in:
Maxim Lebedev 2018-03-31 01:19:15 +05:00
parent 45c0c93ea9
commit 79d45575a0
No known key found for this signature in database
GPG Key ID: F8978F46FF0FFA4F
5 changed files with 30 additions and 46 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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
}

View File

@ -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 {

View File

@ -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
}