code: func (c *Context) keyboard() (chatKeyboard, error) {
  
  	udata, _ := c.User.getData()
  	chatID := c.Chat.ID
  
  	for _, kb := range udata.KeyboardPerChat {
  		if kb.ChatID == chatID && kb.BotID == c.Bot().ID {
  			return kb, nil
  		}
  
  	}
  
  	cdata, _ := c.Chat.getData()
  
  	for _, kb := range cdata.KeyboardPerBot {
  		if kb.ChatID == chatID && kb.BotID == c.Bot().ID {
  			return kb, nil
  		}
  	}
  
  	return chatKeyboard{}, nil
  }
docs: // Keyboard retrieve keyboard for the current chat if set otherwise empty keyboard is returned