Как принять сообщение от пользователя и сохранить в переменную Telegram bot?

Делаю бота на библиотеки TeleGO, и ни как не пойму как мне принять сообщение от пользователя, записать и передать в другую функцию.

В моем понимании должно быть так, с callback вызываем цепочку

  • Запрос цифры от пользователя
  • пользователь вводит и получаем переменную tag
  • выводим консоль значение переменой tag

Вот код который я использую.

bh.Use(func(bot *telego.Bot, update telego.Update, next th.Handler) {
    bot.SendMessage(tu.Message(tu.ID(update.CallbackQuery.From.ID), "Сажи число!"))
    next(bot, update)
})

task := bh.Group(th.CallbackDataEqual("addTag"))

task.Use(func(bot *telego.Bot, update telego.Update, next th.Handler) {
    num := update.Message.Text
    fmt.Println(num)
    if len(update.Message.Text)  > 0 {
        next(bot, update)
    }
})

// Handle updates on a group
task.HandleMessage(func(bot *telego.Bot, message telego.Message, ) {
    fmt.Println(message) 
})

По ошибке, я вижу, чт омы сразу получаем сообщение от бота, пользователь ввести ничего не успевает и программа падает, тк пришел указатель на nil.

[Mon May 27 14:34:18 MSK 2024] DEBUG API response sendMessage: Ok: true, Err: [<nil>], Result: {"message_id":1169,"from":{"id":6964563095,"is_bot":true,"first_name":"livsi_games_news","username":"livsi_games_news_bot"},"chat":{"id":375152786,"first_name":"\u041b\u0435\u043e\u043d\u0438\u0434","last_name":"\u0414\u0435\u043c\u0438\u043d","username":"Livsi_MD_NN","type":"private"},"date":1716809660,"text":"\u0421\u0430\u0436\u0438 \u0447\u0438\u0441\u043b\u043e!"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x118 pc=0x12bcdb2]

goroutine 51 [running]:
main.botMain.func5(0xc0001844d0, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
        D:/Programming/GO/telego_bot/main.go:154 +0x32
github.com/mymmrac/telego/telegohandler.(*HandlerGroup).processUpdateWithMiddlewares(0xc0001f8200, 0xc0001844d0, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/handler_group.go:74 +0x283
github.com/mymmrac/telego/telegohandler.(*HandlerGroup).processUpdateWithMiddlewares(0xc0001f8100, 0xc0001844d0, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/handler_group.go:90 +0x3b0
github.com/mymmrac/telego/telegohandler.(*HandlerGroup).processUpdateWithMiddlewares.func1.1()
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/handler_group.go:76 +0x92
sync.(*Once).doSlow(0x1351691?, 0xb?)
        C:/Program Files/Go/src/sync/once.go:74 +0xc2
sync.(*Once).Do(...)
        C:/Program Files/Go/src/sync/once.go:65
github.com/mymmrac/telego/telegohandler.(*HandlerGroup).processUpdateWithMiddlewares.func1(0x1327e00?, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...})
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/handler_group.go:75 +0x89
main.botMain.func4(0xc0001844d0, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
        D:/Programming/GO/telego_bot/main.go:148 +0xbf
github.com/mymmrac/telego/telegohandler.(*HandlerGroup).processUpdateWithMiddlewares(0xc0001f8100, 0xc0001844d0, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}, ...)
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/handler_group.go:74 +0x283
github.com/mymmrac/telego/telegohandler.(*HandlerGroup).processUpdate(0xc0001f8100, 0x0?, {0x33dc95ba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...})
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/handler_group.go:50 +0x9e
github.com/mymmrac/telego/telegohandler.(*BotHandler).Start.func1()
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/bot_handler.go:100 +0x1e5
created by github.com/mymmrac/telego/telegohandler.(*BotHandler).Start in goroutine 1
        C:/Users/livsi/go/pkg/mod/github.com/mymmrac/[email protected]/telegohandler/bot_handler.go:89 +0x165
exit status 2

Ответы (0 шт):