Skip to content
This repository was archived by the owner on Apr 9, 2020. It is now read-only.

Commit ad3e7db

Browse files
committed
Merge branch 'release/1.2'
2 parents 5d2bb60 + 7443022 commit ad3e7db

39 files changed

+734
-439
lines changed

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ fmt:
1717

1818
# Build localization files with separated untranslated strings
1919
translation:
20-
goi18n merge -format yaml -sourceLanguage en-us -outdir ./i18n/ ./i18n/*
20+
goi18n merge -format yaml -sourceLanguage en -outdir ./i18n/ ./i18n/*/*
2121

2222
# Build localization files and merge untranslated strings
2323
localization:
2424
make translation
25-
goi18n -format yaml -sourceLanguage en-us -outdir ./i18n/ ./i18n/*.all.yaml \
25+
goi18n -format yaml -sourceLanguage en -outdir ./i18n/ ./i18n/*.all.yaml \
2626
./i18n/*.untranslated.yaml

actions.go

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package main
2+
3+
import (
4+
log "github.com/kirillDanshin/dlog"
5+
tg "github.com/toby3d/telegram"
6+
)
7+
8+
// actions function check Message update on commands, sended stickers or other user stuff
9+
func actions(msg *tg.Message) {
10+
state, err := dbGetUserState(msg.From.ID)
11+
errCheck(err)
12+
13+
log.Ln("state:", state)
14+
switch state {
15+
case stateAddSticker:
16+
actionAdd(msg, false)
17+
case stateAddPack:
18+
actionAdd(msg, true)
19+
case stateDeleteSticker:
20+
actionDelete(msg, false)
21+
case stateDeletePack:
22+
actionDelete(msg, true)
23+
case stateReset:
24+
actionReset(msg)
25+
default:
26+
err = dbChangeUserState(msg.From.ID, stateNone)
27+
errCheck(err)
28+
29+
actionError(msg)
30+
}
31+
}

add.go

+42-55
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
package main
22

33
import (
4-
log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
5-
tg "github.com/toby3d/telegram" // My Telegram bindings
4+
log "github.com/kirillDanshin/dlog"
5+
tg "github.com/toby3d/telegram"
66
)
77

88
func commandAdd(msg *tg.Message, pack bool) {
9-
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
10-
119
T, err := switchLocale(msg.From.LanguageCode)
1210
errCheck(err)
1311

12+
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
13+
errCheck(err)
14+
1415
reply := tg.NewMessage(msg.Chat.ID, T("reply_add_sticker"))
1516
reply.ParseMode = tg.ModeMarkdown
17+
reply.ReplyMarkup = getCancelButton(T)
1618

1719
err = dbChangeUserState(msg.From.ID, stateAddSticker)
1820
errCheck(err)
@@ -30,21 +32,44 @@ func commandAdd(msg *tg.Message, pack bool) {
3032
}
3133

3234
func actionAdd(msg *tg.Message, pack bool) {
33-
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
35+
if msg.Sticker == nil {
36+
return
37+
}
3438

3539
T, err := switchLocale(msg.From.LanguageCode)
3640
errCheck(err)
3741

42+
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
43+
errCheck(err)
44+
3845
reply := tg.NewMessage(msg.Chat.ID, T("success_add_sticker"))
3946
reply.ParseMode = tg.ModeMarkdown
4047

41-
switch {
42-
case pack && msg.Sticker.SetName == "":
43-
reply.Text = T("error_empty_add_pack", map[string]interface{}{
44-
"AddStickerCommand": cmdAddSticker,
45-
})
46-
case pack && msg.Sticker.SetName != "":
47-
set, err := bot.GetStickerSet(msg.Sticker.SetName)
48+
if !pack {
49+
var exist bool
50+
sticker := msg.Sticker
51+
exist, err = dbAddSticker(
52+
msg.From.ID, sticker.SetName, sticker.FileID, sticker.Emoji,
53+
)
54+
errCheck(err)
55+
56+
if exist {
57+
reply.Text = T("error_already_add_sticker")
58+
}
59+
60+
reply.ReplyMarkup = getCancelButton(T)
61+
_, err = bot.SendMessage(reply)
62+
errCheck(err)
63+
return
64+
}
65+
66+
reply.Text = T("error_empty_add_pack", map[string]interface{}{
67+
"AddStickerCommand": cmdAddSticker,
68+
})
69+
70+
if msg.Sticker.SetName != "" {
71+
var set *tg.StickerSet
72+
set, err = bot.GetStickerSet(msg.Sticker.SetName)
4873
errCheck(err)
4974

5075
log.Ln("SetTitle:", set.Title)
@@ -54,64 +79,26 @@ func actionAdd(msg *tg.Message, pack bool) {
5479

5580
allExists := true
5681
for _, sticker := range set.Stickers {
57-
exists, err := dbAddSticker(
58-
msg.From.ID,
59-
sticker.SetName,
60-
sticker.FileID,
61-
sticker.Emoji,
82+
var exist bool
83+
exist, err = dbAddSticker(
84+
msg.From.ID, sticker.SetName, sticker.FileID, sticker.Emoji,
6285
)
6386
errCheck(err)
6487

65-
if !exists {
88+
if !exist {
6689
allExists = false
6790
}
6891
}
6992

7093
log.Ln("All exists?", allExists)
71-
7294
if allExists {
7395
reply.Text = T("error_already_add_pack", map[string]interface{}{
7496
"SetTitle": set.Title,
7597
})
76-
} else {
77-
markup := tg.NewInlineKeyboardMarkup(
78-
tg.NewInlineKeyboardRow(
79-
tg.NewInlineKeyboardButtonSwitch(
80-
T("button_share"),
81-
" ",
82-
),
83-
),
84-
)
85-
reply.ReplyMarkup = &markup
86-
}
87-
default:
88-
exists, err := dbAddSticker(
89-
msg.From.ID,
90-
msg.Sticker.SetName,
91-
msg.Sticker.FileID,
92-
msg.Sticker.Emoji,
93-
)
94-
errCheck(err)
95-
96-
if exists {
97-
reply.Text = T("error_already_add_sticker")
9898
}
99-
100-
if msg.Sticker.Emoji == "" {
101-
msg.Sticker.Emoji = " "
102-
}
103-
104-
markup := tg.NewInlineKeyboardMarkup(
105-
tg.NewInlineKeyboardRow(
106-
tg.NewInlineKeyboardButtonSwitch(
107-
T("button_share"),
108-
msg.Sticker.Emoji,
109-
),
110-
),
111-
)
112-
reply.ReplyMarkup = &markup
11399
}
114100

101+
reply.ReplyMarkup = getCancelButton(T)
115102
_, err = bot.SendMessage(reply)
116103
errCheck(err)
117104
}

cancel.go

100644100755
+10-5
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
package main
22

3-
import tg "github.com/toby3d/telegram" // My Telegram bindings
3+
import tg "github.com/toby3d/telegram"
44

55
func commandCancel(msg *tg.Message) {
6-
bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
7-
86
T, err := switchLocale(msg.From.LanguageCode)
97
errCheck(err)
108

119
state, err := dbGetUserState(msg.From.ID)
1210
errCheck(err)
1311

12+
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
13+
errCheck(err)
14+
1415
var text string
1516
switch state {
1617
case stateAddSticker:
1718
text = T("cancel_add_sticker")
1819
case stateAddPack:
1920
text = T("cancel_add_pack")
20-
case stateDelete:
21-
text = T("cancel_del")
21+
case stateDeleteSticker:
22+
text = T("cancel_del_sticker")
23+
case stateDeletePack:
24+
text = T("cancel_del_pack")
2225
case stateReset:
2326
text = T("cancel_reset")
2427
default:
@@ -29,6 +32,8 @@ func commandCancel(msg *tg.Message) {
2932
errCheck(err)
3033

3134
reply := tg.NewMessage(msg.Chat.ID, text)
35+
reply.ReplyMarkup = getMenuKeyboard(T)
36+
3237
_, err = bot.SendMessage(reply)
3338
errCheck(err)
3439
}

commands.go

100644100755
+15-12
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,23 @@ package main
33
import (
44
"strings"
55

6-
log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
7-
tg "github.com/toby3d/telegram" // My Telegram bindings
6+
log "github.com/kirillDanshin/dlog"
7+
tg "github.com/toby3d/telegram"
88
)
99

1010
const (
11-
cmdAddPack = "addPack"
12-
cmdAddSticker = "addSticker"
13-
cmdCancel = "cancel"
14-
cmdHelp = "help"
15-
cmdDelete = "del"
16-
cmdReset = "reset"
17-
cmdStart = "start"
11+
cmdAddPack = "addPack"
12+
cmdAddSticker = "addSticker"
13+
cmdCancel = "cancel"
14+
cmdHelp = "help"
15+
cmdDeleteSticker = "delSticker"
16+
cmdDeletePack = "delPack"
17+
cmdReset = "reset"
18+
cmdStart = "start"
1819
)
1920

2021
func commands(msg *tg.Message) {
21-
log.Ln("Received a", msg.Command(), "command")
22+
log.Ln("command:", msg.Command())
2223
switch strings.ToLower(msg.Command()) {
2324
case strings.ToLower(cmdStart):
2425
commandStart(msg)
@@ -28,8 +29,10 @@ func commands(msg *tg.Message) {
2829
commandAdd(msg, false)
2930
case strings.ToLower(cmdAddPack):
3031
commandAdd(msg, true)
31-
case strings.ToLower(cmdDelete):
32-
commandDelete(msg)
32+
case strings.ToLower(cmdDeleteSticker):
33+
commandDelete(msg, false)
34+
case strings.ToLower(cmdDeletePack):
35+
commandDelete(msg, true)
3336
case strings.ToLower(cmdReset):
3437
commandReset(msg)
3538
case strings.ToLower(cmdCancel):

0 commit comments

Comments
 (0)