Closed ignavan39 closed 2 years ago
skill issue
Для каждого события свой колбек, а твой на новые сообщения и рассчитан.
@n-ozerov не это понятно, у меня код +- вот так выглядит
lp, err := vklongpoll.NewLongPoll(v.bot, v.groupId)
if err != nil {
panic(err)
}
fmt.Println(lp.GroupID)
lp.MessageNew(func(ctx context.Context, mno events.MessageNewObject) {
fmt.Println(mno.Message.Text)
})
lp.MessageRead(func(ctx context.Context, mro events.MessageReadObject) {
fmt.Println(mro.ReadMessageID)
})
lp.MessageEdit(func(ctx context.Context, meo events.MessageEditObject) {
fmt.Println(meo.ReplyMessage.ConversationMessageID)
})
lp.MessageTypingState(func(ctx context.Context, mtso events.MessageTypingStateObject) {
fmt.Println(mtso.ToID)
})
lp.Run()
но выводятся толкьо новые сообщения, тестил на 2х группах, в них настройки лонг поллинга включил с последней версией и нужные типы евентов выбрал
Привет, Long Poll настраивается автоматически, то есть заходить в настройки лонгпола не требуется. Чтобы все работало, у ключа доступа(access token) сообщества должны быть минимум права доступа manage (управление сообществом).
@SevereCloud Привет, это настроенно и работает
Можешь прислать версию vksdk и golang
А еще lp.Run()
может вернуть ошибку, которую хорошо бы проверить:
if err := lp.Run(); err != nil {
log.Fatal(err)
}
@SevereCloud
вот на скринах собственно, редактирование так не дошло
github.com/SevereCloud/vksdk v1.10.0 // indirect
Можешь показать импорты
package main
import (
"context"
"log"
"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"
)
func main() {
token := "<TOKEN>" // use os.Getenv("TOKEN")
vk := api.NewVK(token)
// Initializing Long Poll
lp, err := longpoll.NewLongPollCommunity(vk)
if err != nil {
log.Fatal(err)
}
// New message event
lp.MessageNew(func(_ context.Context, obj events.MessageNewObject) {
log.Printf("%d: %s", obj.Message.PeerID, obj.Message.Text)
if obj.Message.Text == "ping" {
b := params.NewMessagesSendBuilder()
b.Message("pong")
b.RandomID(0)
b.PeerID(obj.Message.PeerID)
_, err := vk.MessagesSend(b.Params)
if err != nil {
log.Fatal(err)
}
}
})
lp.MessageRead(func(ctx context.Context, mro events.MessageReadObject) {
log.Println("MessageRead")
})
lp.MessageEdit(func(ctx context.Context, meo events.MessageEditObject) {
log.Println("MessageEdit")
})
lp.MessageTypingState(func(ctx context.Context, mtso events.MessageTypingStateObject) {
log.Println("MessageTypingState")
})
// Run Bots Long Poll
log.Println("Start Long Poll")
if err := lp.Run(); err != nil {
log.Fatal(err)
}
}
полностью скопипастил твой код с импортами
github.com/SevereCloud/vksdk/v2 v2.14.0 h1:1lciJC4FWhSQIjjFb3NGyJI7x9sPKk/P6aAvR0ibh1o=
github.com/SevereCloud/vksdk/v2 v2.14.0/go.mod h1:J/iPooVfldjVADo47G5aNxkvlRWAsZnMHpri8sZmck4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/gorilla/schema v1.2.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.15.2 h1:3WH+AG7s2+T8o3nrM/8u2rdqUEcQhmga7smjrT41nAw=
github.com/klauspost/compress v1.15.2/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
import (
"context"
"log"
"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"
)
func main() {
все равно
События message_reply
, message_edit
, message_typing_state
работают только в личных сообщениях(в беседах нет)
уже увидел да, большое спасибо !
подключаю сообщество, и мне приходят сообщения только с типом
Typing, Read, Edit, Delete - почему то у меня не доходят из вк