package main import ( "fmt" "github.com/SevereCloud/vksdk/v2/api" "github.com/SevereCloud/vksdk/v2/api/params" "log" "os" "strconv" ) /* - json с конфигом - json с последними постами из группы Алгоритм: - Читаем айди последнего поста - Сохраняем в какую-нибудь переменную посты - Формируем письмо из постов - Отправляем письмо на почту - При успешной отправке записываем айди последнего поста в жсон */ func main() { // Get token and group id from ENV token := os.Getenv("vktoken") groupId, err := strconv.Atoi(os.Getenv("vkgroupid")) if err != nil { log.Fatal(err) } // Init VK vk := api.NewVK(token) // Fill params for wallGet wallGetParams := params.NewWallGetBuilder() wallGetParams.Count(10) wallGetParams.Extended(true) wallGetParams.OwnerID(groupId) // Do WallGet posts, err := vk.WallGet(wallGetParams.Params) if err != nil { log.Fatal(err) } // Cycle through posts for _, item := range posts.Items { if !item.IsPinned { groupGetParams := params.NewGroupsGetByIDBuilder() groupGetParams.GroupID(strconv.Itoa(item.OwnerID * -1)) ownerName, err := vk.GroupsGetByID(groupGetParams.Params) if err != nil { log.Fatal(err) } fmt.Println("=====") fmt.Println("Group:") fmt.Println(ownerName[0].Name) fmt.Println("Text:") fmt.Println(item.Text) } } }