This repository has been archived by the owner on Apr 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
93 lines (78 loc) · 2.58 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package main
import (
"context"
"fmt"
"github.com/SevereCloud/vksdk/v2/api"
"github.com/SevereCloud/vksdk/v2/api/params"
"github.com/SevereCloud/vksdk/v2/events"
"github.com/SevereCloud/vksdk/v2/longpoll-bot"
"log"
"math/rand"
"strings"
"time"
)
func main() {
// Хендлер бота (vk) и лонгполла (lp)
vk := api.NewVK(TOKEN)
group, _ := vk.GroupsGetByID(nil)
lp, _ := longpoll.NewLongPoll(vk, group[0].ID)
rand.Seed(time.Now().UnixNano())
// Событие Новое сообщение
lp.MessageNew(func(_ context.Context, obj events.MessageNewObject) {
// Получение POSIX-времени из GetPOSIX.go
var posix = getPOSIX()
// Логируем сообщение
log.Printf("%d %d: %s", obj.Message.PeerID, obj.Message.FromID, obj.Message.Text)
// Перевод сообщение в нижний регистр для последующего поиска в нем
obj.Message.Text = strings.ToLower(obj.Message.Text)
if obj.Message.Text == "расписос" {
// Собираем сообщение-ответ
b := params.NewMessagesSendBuilder()
b.Message(getSchedule(posix, obj.Message.FromID, obj.Message.PeerID))
b.RandomID(0)
b.PeerID(obj.Message.PeerID)
vk.MessagesSend(b.Params)
}
if strings.Contains(obj.Message.Text, "расписос на завтра") {
b := params.NewMessagesSendBuilder()
b.Message(getSchedule(posix+86400, obj.Message.FromID, obj.Message.PeerID))
b.RandomID(0)
b.PeerID(obj.Message.PeerID)
vk.MessagesSend(b.Params)
}
if strings.Contains(obj.Message.Text, "тупой бот") || strings.Contains(obj.Message.Text, "бот тупой") {
b := params.NewMessagesSendBuilder()
b.Attachment("photo-208113987_457239017")
b.RandomID(0)
b.PeerID(obj.Message.PeerID)
vk.MessagesSend(b.Params)
}
if strings.Contains(obj.Message.Text, "анекдот от марченко") {
jokeNumber := rand.Intn(4-0) + 0
b := params.NewMessagesSendBuilder()
b.RandomID(0)
b.Message(jokes[jokeNumber])
b.PeerID(obj.Message.PeerID)
vk.MessagesSend(b.Params)
}
if obj.Message.Text == "ты где" {
b := params.NewMessagesSendBuilder()
b.RandomID(0)
b.Message("братка я в доту хуярю")
b.PeerID(obj.Message.PeerID)
vk.MessagesSend(b.Params)
}
if obj.Message.Text == "posix" {
b := params.NewMessagesSendBuilder()
b.RandomID(0)
b.Message(fmt.Sprint(posix))
b.PeerID(obj.Message.PeerID)
vk.MessagesSend(b.Params)
}
})
// Запуск lp-хендлера
err := lp.Run()
if err != nil {
log.Fatal(err)
}
}