Я пишу телеграм-бота, используя Go (go -telegram-bot-api ). Он постоянно анализирует сайт и уведомляет об изменениях (каждую минуту). Сегодня я добавил простую клавиатуру, и теперь не могу заставить их работать вместе.
Проблема в том, что синтаксический анализ веб-страницы находится в бесконечном l oop и программа, когда она входит в l oop, игнорирует обновления, поступающие из «клиент».
Я пробовал помещать все в один l oop, меняя порядок и т.д. c. Может, есть другой или подходящий способ сделать это?
Пример кода:
u := tgbotapi.NewUpdate(0)
u.Timeout = 60
updates, err := bot.GetUpdatesChan(u)
for update := range updates {
if update.Message != nil {
switch update.Message.Text {
case "Show Keyboard":
Keyboard is sent
case "OptionsForParsing":
options.applied
case "StartParsing":
search bool = true
case "StopParsing":
search bool = false
}
}
if search == true{
for{
time.Sleep(1 * time.Minute)
AreThereChanges?()
if yes{
msg := tgbotapi.NewMessage(update.Message.Chat.ID, "help please")
bot.Send(msg)
}
}}
}