🚨 Removed linter warnings
This commit is contained in:
parent
57a0ff0985
commit
471a30d6d5
40
add.go
40
add.go
|
@ -6,11 +6,16 @@ import (
|
|||
)
|
||||
|
||||
func commandAdd(msg *tg.Message, pack bool) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
if msg.Sticker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
reply := tg.NewMessage(msg.Chat.ID, T("reply_add_sticker"))
|
||||
reply.ParseMode = tg.ModeMarkdown
|
||||
reply.ReplyMarkup = getCancelButton(T)
|
||||
|
@ -31,21 +36,25 @@ func commandAdd(msg *tg.Message, pack bool) {
|
|||
}
|
||||
|
||||
func actionAdd(msg *tg.Message, pack bool) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
reply := tg.NewMessage(msg.Chat.ID, T("success_add_sticker"))
|
||||
reply.ParseMode = tg.ModeMarkdown
|
||||
|
||||
switch {
|
||||
case pack && msg.Sticker.SetName == "":
|
||||
case pack &&
|
||||
msg.Sticker.SetName == "":
|
||||
reply.Text = T("error_empty_add_pack", map[string]interface{}{
|
||||
"AddStickerCommand": cmdAddSticker,
|
||||
})
|
||||
case pack && msg.Sticker.SetName != "":
|
||||
set, err := bot.GetStickerSet(msg.Sticker.SetName)
|
||||
case pack &&
|
||||
msg.Sticker.SetName != "":
|
||||
var set *tg.StickerSet
|
||||
set, err = bot.GetStickerSet(msg.Sticker.SetName)
|
||||
errCheck(err)
|
||||
|
||||
log.Ln("SetTitle:", set.Title)
|
||||
|
@ -55,7 +64,8 @@ func actionAdd(msg *tg.Message, pack bool) {
|
|||
|
||||
allExists := true
|
||||
for _, sticker := range set.Stickers {
|
||||
exists, err := dbAddSticker(
|
||||
var exist bool
|
||||
exist, err = dbAddSticker(
|
||||
msg.From.ID,
|
||||
sticker.SetName,
|
||||
sticker.FileID,
|
||||
|
@ -63,7 +73,7 @@ func actionAdd(msg *tg.Message, pack bool) {
|
|||
)
|
||||
errCheck(err)
|
||||
|
||||
if !exists {
|
||||
if !exist {
|
||||
allExists = false
|
||||
}
|
||||
}
|
||||
|
@ -74,11 +84,10 @@ func actionAdd(msg *tg.Message, pack bool) {
|
|||
reply.Text = T("error_already_add_pack", map[string]interface{}{
|
||||
"SetTitle": set.Title,
|
||||
})
|
||||
} else {
|
||||
reply.ReplyMarkup = getCancelButton(T)
|
||||
}
|
||||
default:
|
||||
exists, err := dbAddSticker(
|
||||
var exist bool
|
||||
exist, err = dbAddSticker(
|
||||
msg.From.ID,
|
||||
msg.Sticker.SetName,
|
||||
msg.Sticker.FileID,
|
||||
|
@ -86,17 +95,12 @@ func actionAdd(msg *tg.Message, pack bool) {
|
|||
)
|
||||
errCheck(err)
|
||||
|
||||
if exists {
|
||||
if exist {
|
||||
reply.Text = T("error_already_add_sticker")
|
||||
}
|
||||
|
||||
if msg.Sticker.Emoji == "" {
|
||||
msg.Sticker.Emoji = " "
|
||||
}
|
||||
|
||||
reply.ReplyMarkup = getCancelButton(T)
|
||||
}
|
||||
|
||||
reply.ReplyMarkup = getCancelButton(T)
|
||||
_, err = bot.SendMessage(reply)
|
||||
errCheck(err)
|
||||
}
|
||||
|
|
|
@ -3,14 +3,15 @@ package main
|
|||
import tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
|
||||
func commandCancel(msg *tg.Message) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
state, err := dbGetUserState(msg.From.ID)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
var text string
|
||||
switch state {
|
||||
case stateAddSticker:
|
||||
|
|
32
commands.go
32
commands.go
|
@ -3,8 +3,8 @@ package main
|
|||
import (
|
||||
"strings"
|
||||
|
||||
log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
|
||||
tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
// log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
|
||||
tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -19,23 +19,31 @@ const (
|
|||
)
|
||||
|
||||
func commands(msg *tg.Message) {
|
||||
log.Ln("Received a", msg.Command(), "command")
|
||||
switch strings.ToLower(msg.Command()) {
|
||||
case strings.ToLower(cmdStart):
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
switch {
|
||||
case strings.ToLower(msg.Command()) == strings.ToLower(cmdStart):
|
||||
commandStart(msg)
|
||||
case strings.ToLower(cmdHelp):
|
||||
case strings.ToLower(msg.Command()) == strings.ToLower(cmdHelp):
|
||||
commandHelp(msg)
|
||||
case strings.ToLower(cmdAddSticker):
|
||||
case msg.Text == T("button_add_sticker"),
|
||||
strings.ToLower(msg.Command()) == strings.ToLower(cmdAddSticker):
|
||||
commandAdd(msg, false)
|
||||
case strings.ToLower(cmdAddPack):
|
||||
case msg.Text == T("button_add_pack"),
|
||||
strings.ToLower(msg.Command()) == strings.ToLower(cmdAddPack):
|
||||
commandAdd(msg, true)
|
||||
case strings.ToLower(cmdDeleteSticker):
|
||||
case msg.Text == T("button_del_sticker"),
|
||||
strings.ToLower(msg.Command()) == strings.ToLower(cmdDeleteSticker):
|
||||
commandDelete(msg, false)
|
||||
case strings.ToLower(cmdDeletePack):
|
||||
case msg.Text == T("button_del_pack"),
|
||||
strings.ToLower(msg.Command()) == strings.ToLower(cmdDeletePack):
|
||||
commandDelete(msg, true)
|
||||
case strings.ToLower(cmdReset):
|
||||
case msg.Text == T("button_reset"),
|
||||
strings.ToLower(msg.Command()) == strings.ToLower(cmdReset):
|
||||
commandReset(msg)
|
||||
case strings.ToLower(cmdCancel):
|
||||
case msg.Text == T("button_cancel"),
|
||||
strings.ToLower(msg.Command()) == strings.ToLower(cmdCancel):
|
||||
commandCancel(msg)
|
||||
}
|
||||
}
|
||||
|
|
29
database.go
29
database.go
|
@ -18,9 +18,6 @@ const (
|
|||
stateReset = "reset"
|
||||
|
||||
setUploaded = "?"
|
||||
|
||||
patternUsers = "users"
|
||||
patternUserSets = "user_sets"
|
||||
)
|
||||
|
||||
var db *buntdb.DB
|
||||
|
@ -31,22 +28,6 @@ func dbInit() {
|
|||
db, err = buntdb.Open("stickers.db")
|
||||
errCheck(err)
|
||||
|
||||
log.Ln("Creating users index...")
|
||||
err = db.CreateIndex(
|
||||
patternUsers, // name
|
||||
"user:*", // pattern
|
||||
buntdb.IndexString, // options
|
||||
)
|
||||
errCheck(err)
|
||||
|
||||
log.Ln("Creating user_sets index...")
|
||||
err = db.CreateIndex(
|
||||
patternUserSets, // name
|
||||
"user:*:set:*", // pattern
|
||||
buntdb.IndexString, // options
|
||||
)
|
||||
errCheck(err)
|
||||
|
||||
select {}
|
||||
}
|
||||
|
||||
|
@ -97,7 +78,7 @@ func dbGetUserState(userID int) (string, error) {
|
|||
switch err {
|
||||
case buntdb.ErrNotFound:
|
||||
log.Ln(userID, "not found, create new one")
|
||||
if err := dbChangeUserState(userID, stateNone); err != nil {
|
||||
if err = dbChangeUserState(userID, stateNone); err != nil {
|
||||
return state, err
|
||||
}
|
||||
}
|
||||
|
@ -174,7 +155,8 @@ func dbDeletePack(userID int, setName string) (bool, error) {
|
|||
}
|
||||
|
||||
for _, fileID := range fileIDs {
|
||||
notExist, err := dbDeleteSticker(userID, setName, fileID)
|
||||
var notExist bool
|
||||
notExist, err = dbDeleteSticker(userID, setName, fileID)
|
||||
if err != nil {
|
||||
return notExist, err
|
||||
}
|
||||
|
@ -194,7 +176,7 @@ func dbResetUserStickers(userID int) error {
|
|||
return db.Update(func(tx *buntdb.Tx) error {
|
||||
var keys []string
|
||||
if err := tx.AscendKeys(
|
||||
patternUserSets, // index
|
||||
fmt.Sprint("user:", userID, ":set:*"), // index
|
||||
func(key, val string) bool { // iterator
|
||||
subKeys := strings.Split(key, ":")
|
||||
if subKeys[1] == strconv.Itoa(userID) {
|
||||
|
@ -242,8 +224,7 @@ func dbGetUserStickers(userID, offset int, query string) ([]string, int, error)
|
|||
return true
|
||||
}
|
||||
|
||||
if query != "" &&
|
||||
query != val {
|
||||
if query != "" && !strings.Contains(query, val) {
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
15
delete.go
15
delete.go
|
@ -6,7 +6,9 @@ import (
|
|||
)
|
||||
|
||||
func commandDelete(msg *tg.Message, pack bool) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
if msg.Sticker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
@ -14,6 +16,9 @@ func commandDelete(msg *tg.Message, pack bool) {
|
|||
_, total, err := dbGetUserStickers(msg.From.ID, 0, "")
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
if total <= 0 {
|
||||
err = dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
|
@ -44,18 +49,20 @@ func commandDelete(msg *tg.Message, pack bool) {
|
|||
}
|
||||
|
||||
func actionDelete(msg *tg.Message, pack bool) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
reply := tg.NewMessage(msg.Chat.ID, T("success_del_sticker"))
|
||||
reply.ParseMode = tg.ModeMarkdown
|
||||
reply.ReplyMarkup = getCancelButton(T)
|
||||
|
||||
var notExist bool
|
||||
if pack {
|
||||
set, err := bot.GetStickerSet(msg.Sticker.SetName)
|
||||
var set *tg.StickerSet
|
||||
set, err = bot.GetStickerSet(msg.Sticker.SetName)
|
||||
errCheck(err)
|
||||
|
||||
log.Ln("SetName:", set.Title)
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package main
|
||||
|
||||
import tg "github.com/toby3d/telegram"
|
||||
|
||||
func actionError(msg *tg.Message) {
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
reply := tg.NewMessage(
|
||||
msg.Chat.ID, T("error_unknown", map[string]interface{}{
|
||||
"AddStickerCommand": cmdAddSticker,
|
||||
"AddPackCommand": cmdAddPack,
|
||||
"DeleteStickerCommand": cmdDeleteSticker,
|
||||
"DeletePackCommand": cmdDeletePack,
|
||||
}),
|
||||
)
|
||||
reply.ParseMode = tg.ModeMarkdown
|
||||
reply.ReplyMarkup = getMenuKeyboard(T)
|
||||
|
||||
_, err = bot.SendMessage(reply)
|
||||
errCheck(err)
|
||||
}
|
9
help.go
9
help.go
|
@ -3,12 +3,13 @@ package main
|
|||
import tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
|
||||
func commandHelp(msg *tg.Message) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
err := dbChangeUserState(msg.From.ID, stateNone)
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
err = dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
reply := tg.NewMessage(
|
||||
|
|
24
main.go
24
main.go
|
@ -23,26 +23,16 @@ func main() {
|
|||
for update := range getUpdatesChannel() {
|
||||
switch {
|
||||
case update.InlineQuery != nil:
|
||||
// Just don't check same updates
|
||||
log.D(update.InlineQuery.Query)
|
||||
if len(update.InlineQuery.Query) > 25 {
|
||||
continue
|
||||
}
|
||||
|
||||
inlineQuery(update.InlineQuery)
|
||||
log.D(update.InlineQuery)
|
||||
updateInlineQuery(update.InlineQuery)
|
||||
case update.Message != nil:
|
||||
if bot.IsMessageFromMe(update.Message) ||
|
||||
bot.IsForwardFromMe(update.Message) {
|
||||
log.Ln("Ignore message update")
|
||||
return
|
||||
}
|
||||
|
||||
messages(update.Message)
|
||||
log.D(update.Message)
|
||||
updateMessage(update.Message)
|
||||
case update.ChannelPost != nil:
|
||||
channelPost(update.ChannelPost)
|
||||
log.D(update.ChannelPost)
|
||||
updateChannelPost(update.ChannelPost)
|
||||
default:
|
||||
log.Ln("Get unsupported update")
|
||||
continue
|
||||
log.D(update)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
80
messages.go
80
messages.go
|
@ -1,98 +1,30 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
// log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
|
||||
tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
)
|
||||
import tg "github.com/toby3d/telegram"
|
||||
|
||||
// message function check Message update on commands, sended stickers or other
|
||||
// user stuff
|
||||
func messages(msg *tg.Message) {
|
||||
if msg.IsCommand() {
|
||||
commands(msg)
|
||||
return
|
||||
}
|
||||
|
||||
state, err := dbGetUserState(msg.From.ID)
|
||||
errCheck(err)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
switch msg.Text {
|
||||
case T("button_add_sticker"):
|
||||
commandAdd(msg, false)
|
||||
return
|
||||
case T("button_add_pack"):
|
||||
commandAdd(msg, true)
|
||||
return
|
||||
case T("button_del_sticker"):
|
||||
commandDelete(msg, false)
|
||||
return
|
||||
case T("button_del_pack"):
|
||||
commandDelete(msg, true)
|
||||
return
|
||||
case T("button_reset"):
|
||||
commandReset(msg)
|
||||
return
|
||||
case T("button_cancel"):
|
||||
commandCancel(msg)
|
||||
return
|
||||
}
|
||||
|
||||
switch state {
|
||||
case stateAddSticker:
|
||||
if msg.Sticker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
actionAdd(msg, false)
|
||||
return
|
||||
case stateAddPack:
|
||||
if msg.Sticker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
actionAdd(msg, true)
|
||||
return
|
||||
case stateDeleteSticker:
|
||||
if msg.Sticker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
actionDelete(msg, false)
|
||||
return
|
||||
case stateDeletePack:
|
||||
if msg.Sticker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
actionDelete(msg, true)
|
||||
return
|
||||
case stateReset:
|
||||
actionReset(msg)
|
||||
return
|
||||
case stateNone:
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
reply := tg.NewMessage(
|
||||
msg.Chat.ID,
|
||||
T("error_unknown", map[string]interface{}{
|
||||
"AddStickerCommand": cmdAddSticker,
|
||||
"AddPackCommand": cmdAddPack,
|
||||
"DeleteStickerCommand": cmdDeleteSticker,
|
||||
"DeletePackCommand": cmdDeletePack,
|
||||
}))
|
||||
reply.ParseMode = tg.ModeMarkdown
|
||||
reply.ReplyMarkup = getMenuKeyboard(T)
|
||||
|
||||
_, err = bot.SendMessage(reply)
|
||||
actionError(msg)
|
||||
default:
|
||||
err = dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
return
|
||||
|
||||
messages(msg)
|
||||
}
|
||||
|
||||
err = dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
|
||||
messages(msg)
|
||||
}
|
||||
|
|
17
reset.go
17
reset.go
|
@ -8,14 +8,15 @@ import (
|
|||
)
|
||||
|
||||
func commandReset(msg *tg.Message) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
_, total, err := dbGetUserStickers(msg.From.ID, 0, "")
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
if total <= 0 {
|
||||
err = dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
|
@ -46,12 +47,13 @@ func commandReset(msg *tg.Message) {
|
|||
}
|
||||
|
||||
func actionReset(msg *tg.Message) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
err := dbChangeUserState(msg.From.ID, stateNone)
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
T, err := switchLocale(msg.From.LanguageCode)
|
||||
err = dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
if msg.Text != T("meta_key_phrase") {
|
||||
|
@ -75,7 +77,8 @@ func actionReset(msg *tg.Message) {
|
|||
errCheck(err)
|
||||
|
||||
for i := 1; i <= 3; i++ {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
text := T(fmt.Sprint("meta_reset_", i))
|
||||
|
||||
|
|
5
start.go
5
start.go
|
@ -8,11 +8,12 @@ import (
|
|||
)
|
||||
|
||||
func commandStart(msg *tg.Message) {
|
||||
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
|
||||
err := dbChangeUserState(msg.From.ID, stateNone)
|
||||
errCheck(err)
|
||||
|
||||
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
|
||||
errCheck(err)
|
||||
|
||||
if msg.HasArgument() {
|
||||
log.Ln("Received a", msg.Command(), "command with", msg.CommandArgument(), "argument")
|
||||
if strings.ToLower(msg.CommandArgument()) == strings.ToLower(cmdAddSticker) {
|
||||
|
|
|
@ -7,9 +7,7 @@ import (
|
|||
|
||||
const langFallback = "en"
|
||||
|
||||
func switchLocale(langCode string) (T i18n.TranslateFunc, err error) {
|
||||
func switchLocale(langCode string) (i18n.TranslateFunc, error) {
|
||||
log.Ln("Check", langCode, "localization")
|
||||
T, err = i18n.Tfunc(langCode, langFallback)
|
||||
errCheck(err)
|
||||
return
|
||||
return i18n.Tfunc(langCode, langFallback)
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
)
|
||||
|
||||
func channelPost(post *tg.Message) {
|
||||
func updateChannelPost(post *tg.Message) {
|
||||
if post.Chat.ID != channelID {
|
||||
log.Ln(post.Chat.ID, "!=", channelID)
|
||||
return
|
|
@ -2,54 +2,49 @@ package main
|
|||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
|
||||
tg "github.com/toby3d/telegram" // My Telegram bindings
|
||||
)
|
||||
|
||||
var r = strings.NewReplacer(
|
||||
"🏻", "",
|
||||
"🏼", "",
|
||||
"🏽", "",
|
||||
"🏾", "",
|
||||
"🏿", "",
|
||||
)
|
||||
|
||||
func inlineQuery(inline *tg.InlineQuery) {
|
||||
inline.Query = r.Replace(inline.Query)
|
||||
|
||||
log.Ln("Let's preparing answer...")
|
||||
T, err := switchLocale(inline.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
log.Ln("INLINE OFFSET:", inline.Offset)
|
||||
if inline.Offset == "" {
|
||||
inline.Offset = "-1"
|
||||
}
|
||||
offset, err := strconv.Atoi(inline.Offset)
|
||||
errCheck(err)
|
||||
offset++
|
||||
|
||||
log.Ln("CURRENT OFFSET:", inline.Offset)
|
||||
func updateInlineQuery(inlineQuery *tg.InlineQuery) {
|
||||
answer := &tg.AnswerInlineQueryParameters{}
|
||||
answer.InlineQueryID = inline.ID
|
||||
answer.InlineQueryID = inlineQuery.ID
|
||||
answer.CacheTime = 1
|
||||
answer.IsPersonal = true
|
||||
|
||||
if len([]rune(inlineQuery.Query)) >= 256 {
|
||||
if _, err := bot.AnswerInlineQuery(answer); err != nil {
|
||||
log.Ln(err.Error())
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
log.Ln("Let's preparing answer...")
|
||||
T, err := switchLocale(inlineQuery.From.LanguageCode)
|
||||
errCheck(err)
|
||||
|
||||
log.Ln("INLINE OFFSET:", inlineQuery.Offset)
|
||||
if inlineQuery.Offset == "" {
|
||||
inlineQuery.Offset = "-1"
|
||||
}
|
||||
offset, err := strconv.Atoi(inlineQuery.Offset)
|
||||
errCheck(err)
|
||||
offset++
|
||||
|
||||
stickers, packSize, err := dbGetUserStickers(
|
||||
inline.From.ID, offset, inline.Query,
|
||||
inlineQuery.From.ID, offset, inlineQuery.Query,
|
||||
)
|
||||
errCheck(err)
|
||||
|
||||
totalStickers := len(stickers)
|
||||
if totalStickers == 0 {
|
||||
if offset == 0 {
|
||||
if inline.Query != "" {
|
||||
if inlineQuery.Query != "" {
|
||||
// If search stickers by emoji return 0 results
|
||||
answer.SwitchPrivateMessageText = T(
|
||||
"button_inline_nothing", map[string]interface{}{
|
||||
"Query": inline.Query,
|
||||
"Query": inlineQuery.Query,
|
||||
},
|
||||
)
|
||||
answer.SwitchPrivateMessageParameter = cmdAddSticker
|
||||
|
@ -89,8 +84,7 @@ func inlineQuery(inline *tg.InlineQuery) {
|
|||
|
||||
log.Ln("CacheTime:", answer.CacheTime)
|
||||
|
||||
_, err = bot.AnswerInlineQuery(answer)
|
||||
if err != nil {
|
||||
if _, err = bot.AnswerInlineQuery(answer); err != nil {
|
||||
log.Ln(err.Error())
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
log "github.com/kirillDanshin/dlog"
|
||||
tg "github.com/toby3d/telegram"
|
||||
)
|
||||
|
||||
func updateMessage(msg *tg.Message) {
|
||||
if bot.IsMessageFromMe(msg) || bot.IsForwardFromMe(msg) {
|
||||
log.Ln("Ignore message update")
|
||||
return
|
||||
}
|
||||
|
||||
if msg.IsCommand() || msg.Text != "" {
|
||||
commands(msg)
|
||||
return
|
||||
}
|
||||
|
||||
messages(msg)
|
||||
}
|
Loading…
Reference in New Issue