code: func (p *LongPoller) Poll(b *Bot, dest chan Update, stop chan struct{}) {
  	go func(stop chan struct{}) {
  		<-stop
  		close(stop)
  	}(stop)
  
  	for {
  		updates, err := b.getUpdates(p.LastUpdateID+1, p.Timeout)
  
  		if err != nil {
  			b.debug(ErrCouldNotUpdate)
  			continue
  		}
  
  		for _, update := range updates {
  			p.LastUpdateID = update.ID
  			dest <- update
  		}
  	}
  }
docs: // Poll does long polling.