From 10f81a11beaa3d47e474d71ac71328f02e924fd7 Mon Sep 17 00:00:00 2001 From: lulzette Date: Tue, 6 Jun 2023 09:12:35 +0300 Subject: [PATCH] readme --- README.md | 8 ++++++++ vk-to-smtp.go | 42 ++++++++++++++++++++++++++++++++---------- 2 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..59ae8eb --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +vk-to-smtp +==== + +Это демон, который получает посты из группы в ВК и пересылает их на почту. + +Пока что еще не готов (прям совсем). + +Зачем он нужен? Чтобы не заходить в ВК. \ No newline at end of file diff --git a/vk-to-smtp.go b/vk-to-smtp.go index ee73049..26a8ea7 100644 --- a/vk-to-smtp.go +++ b/vk-to-smtp.go @@ -9,37 +9,59 @@ import ( "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 { - groupGetParams := params.NewGroupsGetByIDBuilder() - groupGetParams.GroupID(strconv.Itoa(item.OwnerID * -1)) + 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) + 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) } - fmt.Println("Group:") - fmt.Println(ownerName[0].Name) - fmt.Println("Text:") - fmt.Println(item.Text) - } }