MyPackBot/delete.go

96 lines
2.1 KiB
Go
Executable File

package main
import (
log "github.com/kirillDanshin/dlog"
tg "github.com/toby3d/telegram"
)
func commandDelete(msg *tg.Message, pack bool) {
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)
reply := tg.NewMessage(msg.Chat.ID, T("error_empty_del"))
reply.ReplyMarkup = getMenuKeyboard(T)
_, err = bot.SendMessage(reply)
errCheck(err)
return
}
reply := tg.NewMessage(msg.Chat.ID, T("reply_del_sticker"))
reply.ParseMode = tg.ModeMarkdown
reply.ReplyMarkup = getCancelButton(T)
err = dbChangeUserState(msg.From.ID, stateDeleteSticker)
errCheck(err)
if pack {
err = dbChangeUserState(msg.From.ID, stateDeletePack)
errCheck(err)
reply.Text = T("reply_del_pack")
}
_, err = bot.SendMessage(reply)
errCheck(err)
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
errCheck(err)
reply = tg.NewMessage(msg.Chat.ID, T("reply_switch_button"))
reply.ReplyMarkup = getSwitchButton(T)
_, err = bot.SendMessage(reply)
errCheck(err)
}
func actionDelete(msg *tg.Message, pack bool) {
if !msg.IsSticker() {
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("success_del_sticker"))
reply.ParseMode = tg.ModeMarkdown
reply.ReplyMarkup = getCancelButton(T)
var notExist bool
if pack {
var set *tg.StickerSet
set, err = bot.GetStickerSet(msg.Sticker.SetName)
errCheck(err)
log.Ln("SetName:", set.Title)
reply.Text = T("success_del_pack", map[string]interface{}{
"SetTitle": set.Title,
})
notExist, err = dbDeletePack(msg.From.ID, msg.Sticker.SetName)
if notExist {
reply.Text = T("error_already_del_pack")
}
} else {
notExist, err = dbDeleteSticker(msg.From.ID, msg.Sticker.SetName, msg.Sticker.FileID)
if notExist {
reply.Text = T("error_already_del_sticker")
}
}
errCheck(err)
_, err = bot.SendMessage(reply)
errCheck(err)
}