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

Commit 7443022

Browse files
committed
🔖 Releasing v1.2
With buttons-menu, improved searching and 'delPack' command!
1 parent 6ade04c commit 7443022

20 files changed

+111
-144
lines changed

actions.go

Lines changed: 31 additions & 0 deletions
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

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,9 @@ func actionAdd(msg *tg.Message, pack bool) {
4747

4848
if !pack {
4949
var exist bool
50+
sticker := msg.Sticker
5051
exist, err = dbAddSticker(
51-
msg.From.ID,
52-
msg.Sticker.SetName,
53-
msg.Sticker.FileID,
54-
msg.Sticker.Emoji,
52+
msg.From.ID, sticker.SetName, sticker.FileID, sticker.Emoji,
5553
)
5654
errCheck(err)
5755

@@ -83,10 +81,7 @@ func actionAdd(msg *tg.Message, pack bool) {
8381
for _, sticker := range set.Stickers {
8482
var exist bool
8583
exist, err = dbAddSticker(
86-
msg.From.ID,
87-
sticker.SetName,
88-
sticker.FileID,
89-
sticker.Emoji,
84+
msg.From.ID, sticker.SetName, sticker.FileID, sticker.Emoji,
9085
)
9186
errCheck(err)
9287

@@ -96,7 +91,6 @@ func actionAdd(msg *tg.Message, pack bool) {
9691
}
9792

9893
log.Ln("All exists?", allExists)
99-
10094
if allExists {
10195
reply.Text = T("error_already_add_pack", map[string]interface{}{
10296
"SetTitle": set.Title,

commands.go

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package main
33
import (
44
"strings"
55

6-
// log "github.com/kirillDanshin/dlog"
6+
log "github.com/kirillDanshin/dlog"
77
tg "github.com/toby3d/telegram"
88
)
99

@@ -19,31 +19,23 @@ const (
1919
)
2020

2121
func commands(msg *tg.Message) {
22-
T, err := switchLocale(msg.From.LanguageCode)
23-
errCheck(err)
24-
25-
switch {
26-
case strings.ToLower(msg.Command()) == strings.ToLower(cmdStart):
22+
log.Ln("command:", msg.Command())
23+
switch strings.ToLower(msg.Command()) {
24+
case strings.ToLower(cmdStart):
2725
commandStart(msg)
28-
case strings.ToLower(msg.Command()) == strings.ToLower(cmdHelp):
26+
case strings.ToLower(cmdHelp):
2927
commandHelp(msg)
30-
case msg.Text == T("button_add_sticker"),
31-
strings.ToLower(msg.Command()) == strings.ToLower(cmdAddSticker):
28+
case strings.ToLower(cmdAddSticker):
3229
commandAdd(msg, false)
33-
case msg.Text == T("button_add_pack"),
34-
strings.ToLower(msg.Command()) == strings.ToLower(cmdAddPack):
30+
case strings.ToLower(cmdAddPack):
3531
commandAdd(msg, true)
36-
case msg.Text == T("button_del_sticker"),
37-
strings.ToLower(msg.Command()) == strings.ToLower(cmdDeleteSticker):
32+
case strings.ToLower(cmdDeleteSticker):
3833
commandDelete(msg, false)
39-
case msg.Text == T("button_del_pack"),
40-
strings.ToLower(msg.Command()) == strings.ToLower(cmdDeletePack):
34+
case strings.ToLower(cmdDeletePack):
4135
commandDelete(msg, true)
42-
case msg.Text == T("button_reset"),
43-
strings.ToLower(msg.Command()) == strings.ToLower(cmdReset):
36+
case strings.ToLower(cmdReset):
4437
commandReset(msg)
45-
case msg.Text == T("button_cancel"),
46-
strings.ToLower(msg.Command()) == strings.ToLower(cmdCancel):
38+
case strings.ToLower(cmdCancel):
4739
commandCancel(msg)
4840
}
4941
}

database.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"strconv"
66
"strings"
77

8-
log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
9-
"github.com/tidwall/buntdb" // Redis-like database
8+
log "github.com/kirillDanshin/dlog"
9+
"github.com/tidwall/buntdb"
1010
)
1111

1212
const (
@@ -57,11 +57,7 @@ func dbGetUsers() ([]int, error) {
5757
func dbChangeUserState(userID int, state string) error {
5858
log.Ln("Trying to change", userID, "state to", state)
5959
return db.Update(func(tx *buntdb.Tx) error {
60-
_, _, err := tx.Set(
61-
fmt.Sprint("user:", userID, ":state"), // key
62-
state, // val
63-
nil, // options
64-
)
60+
_, _, err := tx.Set(fmt.Sprint("user:", userID, ":state"), state, nil)
6561
return err
6662
})
6763
}
@@ -119,7 +115,9 @@ func dbDeleteSticker(userID int, setName, fileID string) (bool, error) {
119115
}
120116

121117
err := db.Update(func(tx *buntdb.Tx) error {
122-
_, err := tx.Delete(fmt.Sprint("user:", userID, ":set:", setName, ":sticker:", fileID))
118+
_, err := tx.Delete(
119+
fmt.Sprint("user:", userID, ":set:", setName, ":sticker:", fileID),
120+
)
123121
return err
124122
})
125123

@@ -215,7 +213,6 @@ func dbGetUserStickers(userID, offset int, query string) ([]string, int, error)
215213
}
216214

217215
total++
218-
219216
if count >= 51 {
220217
return true
221218
}

get_updates_channel.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package main
33
import (
44
"fmt"
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
// allowedUpdates is a value for parameter of updates configuration

i18n/en.all.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,8 @@ error_unknown:
5454
other: |-
5555
I do not know what to do with this sticker.
5656
Please run /{{.AddStickerCommand}}, /{{.AddPackCommand}}, /{{.DeleteStickerCommand}} or /{{.DeletePackCommand}} command first.
57-
meta_key_phrase:
57+
key_phrase:
5858
other: Yes, I am totally sure.
59-
meta_reset_1:
60-
other: Wait. Who are you?
61-
meta_reset_2:
62-
other: What are you doing here?
63-
meta_reset_3:
64-
other: What am I doing here?
6559
reply_add_pack:
6660
other: Send an existing stickers from any other packs to add the entire packs to
6761
yourself.

i18n/en/en.meta.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

i18n/en/en.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
key_phrase:
2+
other: Yes, I am totally sure.

i18n/ru.all.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,8 @@ error_unknown:
5555
other: |-
5656
Я понятия не имею что делать с этим стикером.
5757
Пожалуйста, сначала примени /{{.AddStickerCommand}}, /{{.AddPackCommand}}, /{{.DeleteStickerCommand}} или /{{.DeletePackCommand}}.
58-
meta_key_phrase:
58+
key_phrase:
5959
other: Да, я абсолютно уверен.
60-
meta_reset_1:
61-
other: Подожди. Кто ты?
62-
meta_reset_2:
63-
other: Что ты здесь делаешь?
64-
meta_reset_3:
65-
other: Что Я здесь делаю?
6660
reply_add_pack:
6761
other: Пришли стикеры из любых других наборов чтобы целиком добавить их наборы в
6862
свой.

i18n/ru/ru.meta.yaml

Lines changed: 0 additions & 8 deletions
This file was deleted.

i18n/ru/ru.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
key_phrase:
2+
other: Да, я абсолютно уверен.

init.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66
"path/filepath"
77
"strings"
88

9-
log "github.com/kirillDanshin/dlog" // Insert logs only in debug builds
10-
"github.com/nicksnyder/go-i18n/i18n" // Internationalization and localization
11-
"github.com/olebedev/config" // Easy configuration file parsing
9+
log "github.com/kirillDanshin/dlog"
10+
"github.com/nicksnyder/go-i18n/i18n"
11+
"github.com/olebedev/config"
1212
)
1313

1414
var (

main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
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
// bot is general structure of the bot

messages.go

100755100644
Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
11
package main
22

3-
import tg "github.com/toby3d/telegram"
3+
import (
4+
"strings"
5+
6+
tg "github.com/toby3d/telegram"
7+
)
48

5-
// message function check Message update on commands, sended stickers or other
6-
// user stuff
79
func messages(msg *tg.Message) {
8-
state, err := dbGetUserState(msg.From.ID)
10+
T, err := switchLocale(msg.From.LanguageCode)
911
errCheck(err)
1012

11-
switch state {
12-
case stateAddSticker:
13-
actionAdd(msg, false)
14-
case stateAddPack:
15-
actionAdd(msg, true)
16-
case stateDeleteSticker:
17-
actionDelete(msg, false)
18-
case stateDeletePack:
19-
actionDelete(msg, true)
20-
case stateReset:
21-
actionReset(msg)
22-
case stateNone:
23-
actionError(msg)
24-
default:
25-
err = dbChangeUserState(msg.From.ID, stateNone)
26-
errCheck(err)
27-
28-
messages(msg)
13+
switch {
14+
case strings.EqualFold(msg.Text, T("button_add_sticker")):
15+
commandAdd(msg, false)
16+
case strings.EqualFold(msg.Text, T("button_add_pack")):
17+
commandAdd(msg, true)
18+
case strings.EqualFold(msg.Text, T("button_del_sticker")):
19+
commandDelete(msg, false)
20+
case strings.EqualFold(msg.Text, T("button_del_pack")):
21+
commandDelete(msg, true)
22+
case strings.EqualFold(msg.Text, T("button_reset")):
23+
commandReset(msg)
24+
case strings.EqualFold(msg.Text, T("button_cancel")):
25+
commandCancel(msg)
26+
case strings.EqualFold(msg.Text, T("meta_key_phrase")):
27+
actions(msg)
2928
}
3029
}

reset.go

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package main
22

33
import (
4-
"fmt"
5-
"time"
4+
"strings"
65

7-
tg "github.com/toby3d/telegram" // My Telegram bindings
6+
tg "github.com/toby3d/telegram"
87
)
98

109
func commandReset(msg *tg.Message) {
@@ -24,7 +23,6 @@ func commandReset(msg *tg.Message) {
2423
reply := tg.NewMessage(msg.Chat.ID, T("error_already_reset"))
2524
reply.ParseMode = tg.ModeMarkdown
2625
reply.ReplyMarkup = getMenuKeyboard(T)
27-
2826
_, err = bot.SendMessage(reply)
2927
errCheck(err)
3028
return
@@ -33,15 +31,12 @@ func commandReset(msg *tg.Message) {
3331
err = dbChangeUserState(msg.From.ID, stateReset)
3432
errCheck(err)
3533

36-
reply := tg.NewMessage(
37-
msg.Chat.ID,
38-
T("reply_reset", map[string]interface{}{
39-
"KeyPhrase": T("meta_key_phrase"),
40-
"CancelCommand": cmdCancel,
41-
}))
34+
reply := tg.NewMessage(msg.Chat.ID, T("reply_reset", map[string]interface{}{
35+
"KeyPhrase": T("meta_key_phrase"),
36+
"CancelCommand": cmdCancel,
37+
}))
4238
reply.ParseMode = tg.ModeMarkdown
4339
reply.ReplyMarkup = getCancelButton(T)
44-
4540
_, err = bot.SendMessage(reply)
4641
errCheck(err)
4742
}
@@ -56,11 +51,10 @@ func actionReset(msg *tg.Message) {
5651
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
5752
errCheck(err)
5853

59-
if msg.Text != T("meta_key_phrase") {
54+
if !strings.EqualFold(msg.Text, T("meta_key_phrase")) {
6055
reply := tg.NewMessage(msg.Chat.ID, T("error_reset_phrase"))
6156
reply.ParseMode = tg.ModeMarkdown
6257
reply.ReplyMarkup = getMenuKeyboard(T)
63-
6458
_, err = bot.SendMessage(reply)
6559
errCheck(err)
6660
return
@@ -71,23 +65,7 @@ func actionReset(msg *tg.Message) {
7165

7266
reply := tg.NewMessage(msg.Chat.ID, T("success_reset"))
7367
reply.ParseMode = tg.ModeMarkdown
74-
reply.ReplyMarkup = tg.NewReplyKeyboardRemove(false)
75-
68+
reply.ReplyMarkup = getMenuKeyboard(T)
7669
_, err = bot.SendMessage(reply)
7770
errCheck(err)
78-
79-
for i := 1; i <= 3; i++ {
80-
_, err = bot.SendChatAction(msg.Chat.ID, tg.ActionTyping)
81-
errCheck(err)
82-
83-
text := T(fmt.Sprint("meta_reset_", i))
84-
85-
time.Sleep(time.Minute * time.Duration(len(text)) / 1000)
86-
87-
reply = tg.NewMessage(msg.Chat.ID, text)
88-
reply.ParseMode = tg.ModeMarkdown
89-
90-
_, err = bot.SendMessage(reply)
91-
errCheck(err)
92-
}
9371
}

0 commit comments

Comments
 (0)